Derzeit online: ca. 48 User
Allgemein
FAQ
Beantwortete Fragen
Schnipsel: Huhu Claudia, ich habe mir ein login mit php und mysql gebaut(mit hilfe von scripten aus dem netz) und habe folgendes Prob. Wenn man sich ausloggt gibt meine logout.php aus sie sind eingeloggt und erst beim aktualisieren der seite schreibt er sie sind nicht eingeloggt.
Sowas passiert häufiger. Die genauen technischen Gründe dafür, kann ich dir nicht erklären, aber es hilft, wenn du von der Logout-Seite direkt weiter leitest, dadurch wird nach dem Ausloggen noch einmal eine neue Seite geladen und dann erkennt PHP korrekt, dass die Session beendet wurde.
Das funktoniert am besten über header("Location: adresse_der_seite.php"); - danach mit exit; alle weiteren Ausgaben unterbinden. Vor der header-Anweisung darf keine Ausgabe an den Browser erfolgen (also kein echo, print oder ähnliches, kein davor usw.).
vor einer WocheSchnipsel: Gibt es solche Platzhalter wie bei MYSQL auch für PHP? Weil ich gerne überprüfen möchte ob etwas darin vorkommt aber da ist es halt so das If doch nur das Wort nimmt und auch überprüft ob z.b. 'Bla Blubb' da steht und wenn ich dann nach Blubb überprüfen lasse wird es doch nicht gefunden wegen dem 'Bla' Davor oder?
von LeonStimmt, das würde nicht gefunden werden. Aber nein, so etwas wie die Platzhalter in MySQL gibt es in PHP nicht direkt. Du kannst aber zB über die Funktion substr_count arbeiten. Die überprüft, wie oft ein (Wort-)Teil in einem String vorkommt. Wenn der Rückgabewert also größer als 0 ist, wurde dein Teilstring gefunden. Dann musst du das nur noch über if prüfen.
In deinem Fall wäre das dann also if(substr_count($variable, "Blubb") > 0)...
vor einer WocheSonstiges: Wie siehts eigentlich aus wenn man anderen die hier Fragen haben auch gern helfen möchte und die durch deine Antwort auch nicht schlauer geworden sind, wie darf/kann ich das machen?
von LeonGar nicht. Das hier ist kein Forum und die Fragen sind auch ausschließlich für mich sichtbar. Wenn du gerne anderen weiter helfen möchtest, findest du zahlreiche PHP-Foren, wo die Hilfe untereinander gefragt ist.
vor einer WocheSchnipsel: Was sollte ich für meinen Blog verwenden wenn ich darauf hinweisen will das man sich erst Registrieren/Einloggen soll verwenden?
von LeonIch gehe mal davon aus, dass es dir darum geht, zu überprüfen, ob jemand bereits eingeloggt ist. Das ist eine ganz einfache Überprüfung einer einzelnen Bedingung, dafür reicht if absolut aus. Die Sache mit dem Einloggen und dann auch eingeloggt bleiben erfordert Sessions. Sorry, deine Frage ist ein bisschen sehr allgemein, da ist es schwierig, eine konkrete Antwort darauf zu geben.
vor einer WochePHP: Wo liegt denn eigentlich der Unterschied zwischen Switch und If? Funktioniert nicht beides gleich?
von LeonJein. Sie funktionieren ähnlich, aber nicht gleich. Switch kann zB nur auf Gleichheit überprüfen (also ==), dafür ist es aber wesentlich praktischer, wenn du mehrere verschiedene Fälle überprüfen magst. if ist halt wesentlich vielseitiger, wird aber häufig unheimlich verschachtelt und unnötig kompliziert, wenn man auf switch verzichten würde.
vor einer WocheSonstiges: Das mit dem Datum auf Deutsch will mir in meinem Blog-Template nicht gelingen, selbst mit den Hinweisen auf Deiner Seite. Das Original in meinem Script sieht so aus: <div class="author">Geschrieben von <?php the_author(); ?> am <?php the_time('jS F Y'); ?></div> und als Ausgabe kommt dann: Geschrieben von Andreas am 28th Februar 2010. Gibt es eine einfache Möglichkeit, hier das deutsche Datumsformat einzustellen?
von AndreasSo wie das aussieht, benutzt dein Blogscript eine eigene Funktion für die Ausgabe des Datums. Wenn da aber wirklich Februar steht und nicht February ist die Chance groß, dass es die Monatsnamen auf Deutsch ausgibt und nur dieses 28th falsch wäre. In dem Fall würde ich einfach mal bei the_time('jS F Y') das S durch einen Punkt ersetzen. Falls dadurch eine Fehlermeldung entsteht, probiere, den Punkt mit einem Backslash zu maskieren - the_time('j\. F Y'), aber es sollte eigentlich ohne Backslash funktionieren.
Falls die Monatsnamen auf englisch sind, müsstest du in deinem Blog die Stelle suchen, wo die Funktion the_time programmiert ist und dort Änderungen vornehmen.
vor 2 WochenSchnipsel: ähm ja weis garnich wie ich anfangen soll :) ich hab eine eigene homepage. und habe bei einer anderen gesehen, das man den layout code nicht bei jeder unterseite hinzufügen muss. sondern das die unterseiten nur den inhalt enthalten der dann beim klicken im menü im layout angezeigt wird. was den layoutwechsel sicher sehr erleichtert. Doch leider weis ich nicht wie das geht :( kannst du mir helfen ?!
von MaikeDas was du suchst, sind Includes.
vor 2 WochenPHP: Hallo Claudia Wenn man den UNIX-Timestamp mit date() formatiert, welche Zeitzone wird dafür verwendet? Gibt es dann immer nur GMT, die Zeit in London, an? Wie kann man das am besten umgehen?
date() greift immer auf die auf dem Server eingestellte Zeitzone zu. Welche das bei dir ist, kannst du entweder über eine PHP-Datei mit dem Inhalt phpinfo(); überprüfen - dort findest du einen Eintrag "Default timezone" -, oder über date_default_timezone_get(). Alternativ kannst du mit date("O") auch den Zeitzonenunterschied zu GMT abfragen.
Wenn du GMT brauchst, gibt es die Möglichkeit mit gmdate() zu arbeiten, oder die Zeitzone mit date_default_timezone_set zu setzen. Nähere Infos finden sich wie immer bei www.php.net :-)
vor 3 WochenSchnipsel: Hallo Claudia, Deine Seite ist sehr hilfreich und hilft mir sehr im Unterricht als Pauker!!! :) Leider schaffe ich es nicht, Text und Grafik gleichzeitig aus einer Datenbank auszulesen und in einer Tabelle darzustellen ??? kannst du mir helfen?? Büdde
Nur mit den Infos ist das schwierig. Die Ausgabe von Daten als Tabelle formatiert ist bei den Schnipseln erklärt, wenn du aber die Grafiken tatsächlich als Grafik in deiner Datenbank gespeichert hast, wird das etwas komplizierter, weil du dann über Datei-Funktionen arbeiten musst.
vor 3 WochenSchnipsel: Hallo Claudia Was ist die beste Möglichkeit um ein Guestbook zu programmieren? Soll ich das mithilfe von MySQL hinbiegen?
Ja, MySQL ist dafür mit Sicherheit die beste Lösung. Dazu noch ein schönes Formular, überprüfen der übergebenen Variablen und seitenweise Ausgabe der Daten... ist ein schönes Projekt, um sich in MySQL hineinzufuchsen.
vor 3 WochenSonstiges: Hallo Claudia... ich finde deine seite spitze, habe daher sehr viel wissen mitgenommen und bin immer wieder mal da... Ich würde mich freuen, wenn du für mich und andere User noch die Funktionen erklären könntest. Vielen Dank. Grüße Stefan
Danke :-) Was die Funktionen betrifft: Das Problem damit ist, dass es eigentlich kein Anfänger-Thema ist und damit nur bedingt dazu passt. Ich muss mir da mal was überlegen.
vor 3 WochenAllgemein: Was heißt PHP?
PHP: Hypertext Preprocessor - man nennt das ein rekursives Akronym, weil die Abkürzung selbst auch in der Langfassung enthalten ist. Ursprünglich hieß es mal Personal Home Page Tool.
vor 3 WochenAllgemein: Wie erstelle ich eine PHP-Datei?
Du öffnest einen Texteditor und schreibst deinen PHP-Code hinein. Das ganze speicherst du dann mit der Endung .php ab.
vor langer ZeitAllgemein: Wie kann ich in PHP die Schriftart oder -farbe ändern, ein Hintergrundbild einrichten etc.?
Gar nicht. PHP hat absolut keine Einfluss auf die Formatierung der ausgegebenen Daten, es liefert immer nur reinen Text. Zum Formatieren brauchst du auf jeden Fall HTML oder CSS!
Daher also ruhig großräumiger nach einem Fehler suchen, wenn eine Suche in der angegebenen Fehlerzeile nichts bringt.
vor langer ZeitAllgemein: Ich bekomme einen parse_error in Zeile xy angezeigt, aber da ist ganz sicher kein Fehler!
Wenn sich der Fehler bei einem parse_error partout nicht finden lässt, kann es manchmal hilfreich sein, die Zeilen darüber ebenfalls genau zu betrachten. Fehlt zB eine Anführungszeichen oder ein Semikolon, kann es durchaus passieren, dass dieser Fehler erst Zeilen weiter unten wirklich ins Gewicht fällt bzw. PHP auffällt.
vor langer ZeitAllgemein: Ich möchte PHP und HTML in einer Datei verwenden. Geht das denn?
PHP und HTML lassen sich wunderbar miteinander kombinieren und absolut problemlos in der selben Datei anwenden. Man sollte dabei allerdings bedenken, dass die Datei unbedingt die Endung .php haben muss (sonst funktioniert der PHP-Code einfach nicht) und das man HTML-Teile entweder außerhalb des PHP-Codes (also erst nach einem ?>) schreiben sollte (danach bitte nicht vergessen, PHP wieder einzuleiten, wenn man es verwenden mag) oder man sämtlichen HTML-Code mit echo ausgeben muss und dann an die Maskierung von Anführungszeichen denken muss.
Ich schreibe HTML meistens außerhalb von "PHP-Gebieten", außer es ist nur kurzer Text etc.
vor langer ZeitAllgemein: Brauche ich DSL, um PHP nutzen zu können?
Nein, brauchst du nicht. Dennoch ist es natürlich ganz allgemein schöner, wenn man Daten schnell hochladen kann und die Seiten rasch geladen werden. Vielleicht gibt es ja bei dir sogar die Möglichkeit zu einem Breitbandanschluss mit einem günstigen DSL Tarif.
vor langer ZeitPHP: Ich übergebe meine Variablen genauso, wie du es beschreibst. Warum bekomme ich sie dennoch nicht angezeigt?
Sind alle Variablen wirklich exakt gleich geschrieben? Falls ja, ist auf deinem Server vielleicht noch eine ältere PHP-Version installiert. Diese kommt mit den Kurzformen nicht klar und benötigt längere: $HTTP_GET_VARS["Variablenname"] bzw. $HTTP_POST_VARS["Variablenname"] - je nachdem, ob die Variablen via Post oder via Get übertragen wurden. Bei aktuellen PHP-Versionen reichen die Kurzformen $_GET["Variablenname"] bzw. $_POST["Variablenname"].
vor langer ZeitPHP: Wie kann ich Dezimalzahlen verwenden?
PHP verwendet bei Dezimalzahlen anstatt dem Dezimalkomma einen Dezimalpunkt. Du musst also anstatt 3,5 3.5 verwenden. Wenn du die Ausgabe der Zahlen mit Komma haben möchtest, kann dir die Funktion number_format hilfreich sein - das solltest du aber nur verwenden, wenn du mit den Zahlen nicht mehr rechnen möchtest, da es Zahlen in Text umwandelt. Nährere Infos dazu findest du unter www.php.net.
vor langer ZeitPHP: Wie kann ich PHP dazu bringen, gerade und ungerade Zahlen voneinander zu unterscheiden?
Mehr Informationen zu Geraden und ungeraden Zahlen findest du bei den Schnipseln.
vor langer ZeitPHP: Bei mktime klappt plötzlich etwas nicht - was ist da los?
Vermutlich hast du irgendwo in den Werten eine führende Null verwendet. Diese werden von PHP in diesem Fall falsch interpretiert, also bitte nie mktime(0,0,0,04,12,2007) verwenden, sondern mktime(0,0,0,4,12,2007).
Weitere Informationen zu dem Problem mit mktime findest du bei den Schnipseln.
vor langer ZeitPHP: Ich brauche das Osterdatum. Wie berechne ich das?
Wie es berechnet wird kann ich dir auch nicht sagen, aber PHP hat eine nette Funktion um das Osterdatum für dich zu berechnen. Eine Erklärung dazu findest du bei den Schnipseln.
vor langer ZeitMySQL: Mein INSERT funktioniert einfach nicht. Was ist da los?
MySQL ist beim Insert ziemlich kleinlich. Ein falscher Spaltenname (nicht vorhanden oder falsch geschrieben) oder auch zuviele oder zuwenig Werte, die übergeben werden bringen MySQL dazu, gar nichts einzutragen. Wenn dein Insert also nicht klappt, schau am besten zuerst alles durch, ob du dich vielleicht irgendwo vertippt hast (vergleiche die Spaltennamen zur Sicherheit auch noch einmal mit denen in der Datenbank - auch wenn du dir dort sicher bist, dass sie so heißen, wie du sie genannt hast!) und schaue dann, ob du die gleiche Anzahl an Werten übergibst, wie du Spalten angegeben hast, vielleicht fügst du ja einen Wert doppelt ein oder Ähnliches.
vor langer ZeitMySQL: Wie kann ich mehrere Werte auf einmal in die Datenbank einfügen?
Um mehrere Daten zugleich einzufügen findest du etwas bei den Schnipseln.
vor langer ZeitMySQL: Kann ich beim Suchen auch Platzhalter verwenden?
Auch Platzhalter in mySQL findest du bei den Schnipseln.
vor langer ZeitMySQL: Kann ich meine Tabelle kopieren? Oder umbenennen?
Ja, auch das ist möglich. Mehr Informationen zum Kopieren einer Tabelle wie immer bei den Schnipseln.
vor langer ZeitSonstiges: Ich möchte PHP lernen, kannst du es mir erklären?
Diese Seite dient als Erklärung. Ich helfe gerne bei der Lösung von spezifischen Problemen weiter, aber wenn du eine persönliche/extra Erklärung haben möchtest, dann nur gegen Bezahlung.
vor langer ZeitSonstiges: Kannst du mir mal eben xyz programmieren? Für dich ist das doch sicher ein Klacks!
"Mal eben" kann auch ich nichts aus dem Hut zaubern. Außerdem ist auch meine Zeit begrenzt und wenn ich jemandem einen "Gefallen" tue, dann sollte ich den davor auch kennen. Gegen Bezahlung kann man aber auf darüber reden.
vor langer ZeitSonstiges: Warum ist xyz bei dir nicht erklärt? Warum erweiterst du nicht um xyz? Wie wäre es, wenn du auch noch xyz erklären würdest?
Das kann verschiedene Gründe haben: Entweder, ich habe selbst noch nichts damit gemacht, oder ich hatte bisher keine Zeit, es zu erklären. Vielleicht fehlt mir auch einfach die Lust dazu, oder ich erachte etwas nicht für sinnvoll. In jedem Fall kann es sein, dass ich (irgendwann) eine Erklärung dazu schreibe, aber ich lasse mich weder auf einen Termin ein, noch garantiere ich dafür.
vor langer ZeitSonstiges: Die Seite sieht eklig aus und ich mag sie nicht. Wieso änderst du nichts daran?
Bist du dir sicher, dass die Seite schuld ist und nicht dein Monitor? Wie wäre es denn mal mit einem neuen Monitor? Es gibt dafür auch Seiten, die einen Monitor Test anbieten oder du benutzt ein Testprogramm, um deinen aktuellen Monitor optimieren und prüfen zu können.
Nein, ernsthaft: Wenn ich mal Lust habe, die Seite optisch zu verändern, werde ich das sicher machen. Bis dahin bleibt sie eben so, wie sie ist. Und letzten Endes: Wer weiß, ob sie dir in neuem Gewand besser gefallen würde.
vor langer ZeitSonstiges: Warum erklärst du xyz so und nicht anders? Warum machst du das so und nicht anders?
Tja, entweder, weil ich es auf diese Art gelernt habe und keine andere kenne oder weil ich meine Art angenehmer finde als eine andere. Und auch wenn du etwas für super sinnvoll und toll hältst kann es sein, dass ich es nicht mag. Und hier wird nun mal so erklärt, wie ICH es bevorzuge.
vor langer ZeitSonstiges: Machst du das freiwillig/gratis/als Hobby?
Ja, mache ich. Daher freue ich mich natürlich auch immer über ein Danke. Ganz besonders, wenn es nicht nur deswegen kommt, weil man eine Frage gleich anhängt.
vor langer ZeitSonstiges: Ich hab von einem Kumpel/aus einem Forum/von einer Seite ein Script bekommen, aber es rennt nicht. Kannst du mir das mal eben anpassen/mir sagen, wo der Fehler liegt?
Bei einfachen/kurzen Scripts kann es durchaus sein, dass ich das tatsächlich mache, in den meisten Fällen werde ich dich aber bitten, deinen Kumpel/das Forum/den Seitenbetreiber/den Scriptprogrammierer zu fragen, oder es selbst auszuprobieren.
vor langer ZeitSonstiges: Hallo Claudia, ich hoffe es ist okay, wenn ich "du" sage...
Ja, sicher. Ich duze ja auch die Leser der PHP-Seite und habe daher absolut nichts dagegen einzuwenden, ebenfalls gedutzt zu werden. Wenn mich aber jemand mit Sie anredet, ist das genauso in Ordnung und ich werde in meiner Antwort ebenfalls das Sie verwenden.
vor langer Zeit
© 2001 - 2010 Claudia Unkelbach
Gießener Straße 75, 35396 Gießen