Alle unsere Tipps (Home)
Übersicht Buch- und Hobby-Tipps


PHP-Tipps

Die Klicktipps-Seiten wurden Anfang 2007 auf PHP umgestellt. Bei der Verwendung von PHP für Klicktipps und für andere von mir betreute Homepage-Projekte habe ich viel gelernt, viele Frust- und noch mehr Aha-Erlebnisse gehabt.

Etwas Anfangsfrust beim Erlernen einer Programmiersprache ist normal. Inzwischen möchte ich keine Seite mehr ohne PHP erstellen müssen.
Allein schon die Möglichkeit, mit dem include-Befehl widerkehrende Seitenteile (z. B. Kopf, Navigationsteil, Fußzeilen, Variablen usw.) nur einmal schreiben zu müssen und mehrfach einbinden zu können, ist Gold wert. Eine zentrale Nutzung von CSS und PHP erspart enorm viel Zeit und Aufwand.

Ich habe PHP übrigens gar nicht auf meinem PC installiert, sondern baue es in Homepages ein, lade sie hoch und schaue mir dann das Ergebnis an. Das nicht-Installieren mag anfänglich Faulheit gewesen sein, ist aber eigentlich sinnvoll, weil ich so immer gleich nachsehe, was denn in der für die weite Welt sichtbaren Seite passiert.
Wenn dann das gewünschte Ergebnis angezeigt wird, ist es überall in der Welt genauso zu sehen. Grund: Das PHP läuft nicht auf meinem PC und ist auch nicht (wie z. B. JavaScript) von einem Browser des jeweiligen Benutzers abhängig, sondern läuft auf dem Server, in dem auch die Homepage liegt.

Einige Empfehlungen, Links und Tipps werden in dieser Seite weitergegeben:





Bücher

Mit PHP und MySQL Easy klappt der Einstieg in PHP (und SQL) bestimmt.

Mit dem Titel "PHP und MySQL für Kids." und J. C. Hanke als Autor - Wer es dann nicht versteht ...

Dazu gibt es dann noch das Praxisbuch

In der Reihe "... für Dummies" darf natürlich auch das Thema PHP nicht fehlen. Es gibt also
"PHP 5 für Dummies.",
"MySQL 5 für Dummies." und
"Applikationen mit PHP Und MySQL für Dummies."


Buchtipps für den Bau von Homepageseiten geben wir auf der Seite "Tipps für Webmaster und Homepagebauer".



Links

zum Seitenanfang


Programmiertipps und -ideen

Manchmal finde ich für Probleme Lösungen, die dann öfter benutzt werden. Daraus entstehen meist kleine praktische Funktionen. Einige dieser Funktionen und auch ein paar einzelne kleine Ideen (Nützliches bis Witziges) stelle ich Ihnen hier vor.
Viel Spaß beim Benutzen! - und lassen Sie sich dadurch zu eigenen Experimenten und Ideen anregen:


include und include_once

Wie bereits oben beschreiben, ist der include-Befehl für mich die allerbeste Erfindung im PHP. So muss z. B. eine Navigationsleiste nur einmal definiert werden und kann dann überall verwendet werden:

<!-- Die Navigationsleiste ist z. B. in der Datei i_navigation.php als HTML-Text definiert Sie wird folgendermaßen aufgerufen: --> <?php include 'i_navigation.php '; ?> <!-- Es geht auch in einer Zeile: --> <?php include 'i_navigation.php '; ?>


Mehr ist nicht nötig. Das i_ am Anfang des Dateinamens signalisiert mir im Windows-Explorer, dass es sich hier nicht um eine gnze Seite, sondern nur um eine zu includierende Datei handelt. Außerdem stehen bei alphabetischer Sortierung alle diese Dateien beieinander.

Wenn in dieser Navigationsleite noch Untermenüs eingefügt werden sollen, kann man mit basename($_SERVER[PHP_SELF]) den Namen der aufrufenden Seite abfragen und mit IF entsprechend reagieren. Mit den unten beschriebenen Funktionen können Includes auch nach Kalenderdatum ein- und ausgeschaltet werden.

Wenn in einer Datei das Selbe zwei Mal mit include geholt wird, kann es besonders wenn dort Funktionen und Ähnliches enthalten sind, zu Fehlern kommen. Der Befehl include_once wird nur einmal pro Datei tätig und verhindert solche Probleme.




Messagebox/Alert

Wer sich vor PHP mit Visual Basic oder JavaScript befasst hat, wird nun vielleicht so etwas wie eine Messagebox oder die alert-Funktion vermissen. Es ist ziemlich das Einzige, was ich bisher vermisst habe. So etwas kann aber in einer Verbindung von PHP und JavaScript nachgebaut werden:

<?php function alert($ausg){ /* Diese Funktion simuliert JavaScript alert() Funktion veröffentlicht von www.KlickTipps.de */ $a1 = "\n <script type=\"text/javascript\"> "; $a2 = "\n alert(\""; $a3 = "\"); "; $a4 = "\n </script> \n"; $ausgabe = $a1 . $a2 . $ausg . $a3 . $a4; echo $ausgabe ; } ?>


Die obige Funktion setzt voraus, dass JavaScript im Browser des Betrachters aktiv ist. Das ist nicht immer der Fall.
Deswegen hier eine Version, die statt mit JavaScript 'nur' mit CSS arbeitet:

<?php function testbox($ausg){ /* Mit dieser Funktion kann man Testwerte anzeigen. Sie funktioniert ohne JavaScript. Funktion veröffentlicht von www.KlickTipps.de */ $a1 = "\n <div class=\"testbox\" title=\"PHP-Testbox\" style=\"border: 1px dotted green; position: absolute; margin:0px; padding:10px; z-index:5; background-color:#ffffcc; color:#000000;\"> \n "; $a2 = " \n </div> \n"; $ausgabe = $a1 . $ausg . $a2; echo $ausgabe; } ?>


Natürlich kann man ein Zwischenergebnis zum Testen immer auch rasch mal mit <?php echo $ausgabe; ?> ausgeben. Aber das findet man im Gewusel großer Seiten eventuell nicht gleich, oder man vergisst, es wieder zu entfernen.




Zufallszahlen

Gegen die übliche Langeweile benötige ich in fast jeder Programmiersprache, die ich bisher kenne, gelegentlich Zufallszahlen.
Solche Befehle gibt es auch in jeder Programmiersprache, aber immer anders (in PHP erfreulich einfach), und ich kann sie mir einfach nicht merken.
Also baue ich mir immer erst mal eine Funktion zufall(), die mir ganze Zahlen in einem Bereich "von/bis" erzeugen kann:

<?php function zufall($a, $b) { /* eine ganze Zufallszahl im Bereich von $a bis $b erzeugen Funktion veröffentlicht von www.KlickTipps.de */ srand(microtime()*1000000); return ( rand($a, $b) ); } // Anwendung: Z. B. Zufallszahlen von 5 bis 31 zz$ = zufall(5 , 31); // Zufallszahlen von 0,1 bis 1,5 zz$ = zufall(1 , 15)/10; ?>


zum Seitenanfang



Datum und bewegliche Feiertage berechnen

Außer den PHP-Funktionen time(), date() und mktime() braucht man gelegentlich weiteres KnowHow. Hier ein paar Anregungen:

<?php $vor10tagen = mktime(0, 0, 0, date("m"), date("d")+1, date("Y")); // Datum vor genau 10 Tagen $diesesjahr = date("Y"); //dieses Jahr (4-stellig) $ostern = easter_date( date("Y") ); //Ostern dieses Jahr (als Timestamp) $ostermonat = date("n" , $ostern ); //der Monat, in dem Ostern dieses Jahr liegt $ostertag = date("j" , $ostern ); //der Tag, an dem Ostern liegt $rosenmontag = date("j.n.y" , $ostern - 48 * 86400 ); //Rosenmontag (48 Tage vor Ostern) $gruendonnerstag = date("j.n." , $ostern - 3 * 86400 ); //Gründonnerstag $ostermontag = date("j.n." , $ostern + 1 * 86400 ); //Ostermontag $himmelfahrt = date("j.n." , $ostern + 40 * 86400 ); //Himmelfahrt $letzter_feb = date("j.n.y",mktime(0,0,0, 3,0,$diesesjahr) ); //letzter Tag im Februar //Muttertag (zweiter Sonntag im Mai) $muttertag = date('d.m.Y',mktime(0,0,0,5,(14-date('w',mktime(0,0,0,5,0,date("Y") ))),date("Y"))); ?>


zum Seitenanfang



Zeitraum von/bis

Manche PHP-Funktionen oder von ihnen eingeschlossene HTML-Abschnitte sollen nur zu bestimmten Zeiten ausgeführt werden. In den Klicktipps-Seiten macht Werbung für Blumen z. B. nur in der Zeit vor dem 14. Februar und vor Muttertag Sinn.
Hier hilft mir eine Funktion, die ermittelt, ob der heutige Tag in einem bestimmten Zeitraum liegt:

<?php function im_zeitraum($tag1, $monat1, $jahr1, $tag2, $monat2, $jahr2) { // Prüfen, ob der heutige Tag in einem bestimmten Zeitraum liegt. // Funktion veröffentlicht von www.KlickTipps.de return (time()>=date(mktime (0, 0, 0, $monat1, $tag1, $jahr1)) and time()<=date(mktime (24, 59, 59, $monat2, $tag2, $jahr2)) ); } // Anwendung: // Z. B. prüfen, ob das heutige Datum im Bereich // vom 1.2.2009 bis zum 14.2.2009 liegt: if ( im_zeitraum( 1, 2, 2009, 14, 2, 2009 ) ){ } // Alternative, bei der das Datum nur einmal eingegeben werden muss // (weniger Chancen für Fehler): function termin_anzeigen($tag, $monat, $jahr, $vorher, $nachher) { // Prüfen, ob die jetzige Zeit im Bereich // von (Datum - $vorher) bis (Datum + $nachher) liegt. // Funktion veröffentlicht von www.KlickTipps.de return (time()>=date(mktime (0, 0, 0, $monat, $tag-$vorher, $jahr)) and time()<=date(mktime (24, 59, 59, $monat, $tag+$nachher, $jahr)) ); } // Anwendung: // Z. B. prüfen, ob das heutige Datum im Bereich // von 31 Tage vor dem 14.12.2009 bis 1 Tage danach liegt: if ( termin_anzeigen( 14, 2, 2009, 31, 1 ) ){ } ?>


Man kann mit diesen Funktionen auch ganze HTML-Textbereiche auf Termin einblenden. Beispiel:

<?php if ( termin_anzeigen( 14, 2, 2009, 31, 1 ) ){ ?> Keine Lust auf Blumen? <br>Wie wäre es mit einem Amazon-Gutschein zum Valentinstag?! <br> .... <br> .... <br> .... <?php } ?>


Die HTML-Zeilen zwischen den beiden PHP-Schnipseln werden im Zeitraum vom (1.12.2009 minus 30 Tage = 1.11.) bis (1.12.2009 plus 2 Tage = 3.12.09) angezeigt. Davor und danach sind sie ausgeblendet.
zum Seitenanfang



Deutsches Datum in PHP-Timestamp umwandeln

Wenn man rätselt, wie man ein deutsches Datumsformat des Formats d.m.yy bis dd.mm.yyyy in PHP-timestamp umwandeln könnte; so geht es:

<?php function date_de2php($datum) { // deutsches Datum des Formats d.m.yy bis dd.mm.yyyy in PHP-Timestamp umwandeln // Funktion veröffentlicht von www.KlickTipps.de $datum = str_replace( ' ', '', $datum ); //alle Blanks löschen $datum = str_replace( ',', '.', $datum ); //alle Kommas in Punkte if( count(explode('.', $datum)) != 3){ return (FALSE); }else { list($tag, $monat, $jahr) = explode(".", $datum); } if( $jahr >= 2100 ){ return (FALSE); } //zweistellige Jahreszahl abfangen //Jahre vor 2000 müssen 4-stellig angegeben werden if( $jahr < 100 ){ $jahr = $jahr + 2000; } return ( mktime(0,0,0, $monat, $tag, $jahr) ); } ?>


zum Seitenanfang



PHP-Timestamp in deutschen Wochentag umwandeln

Das funktioniert zum Beispiel so:

<?php function date_php2wochentag($zeitstempel) { // PHP-Timestamp in deutschen Wochentag umwandeln // Funktion veröffentlicht von www.KlickTipps.de $wochentage = array("Sonntag","Montag","Dienstag","Mittwoch", "Donnerstag","Freitag","Samstag"); return $wochentage[date("w", $zeitstempel )]; } ?>


zum Seitenanfang



Alle Blanks löschen

Mit den Funktionen ltrim() und rtrim() kann man Leerzeichen am Anfang und am Ende von Zeichenketten (Strings) entfernen; mit trim() beides. Aber wie entfernt man alle Leerzeichen aus einer Zeichenkette? Ich habe dafür die Funktion trimall() - das kann ich mir einfach besser merken als str_replace(...).

<?php function trimall( $eingabe ){ /* alle Blanks aus einem String entfernen Funktion veröffentlicht von www.KlickTipps.de */ return( str_replace( ' ', '', $eingabe ) ); } ?>





Dateigröße anzeigen

Auch die Größe einer Datei kann mit PHP ermittelt und in kB bzw. MB angegAben werden. Dies ist z. B. dann sinnvoll, wenn man Downloads anbietet und man die USer vorher über die Dateigröße informieren möchte.

<?php function dateigroesse_km( $datei ){ /* Dateigröße ermitteln und in kB bzw. MB (als String) angeben Funktion veröffentlicht von www.KlickTipps.de */ //echo filesize( $datei ) ; $groesse = (int)(filesize( $datei )/1000); if ( $groesse <= 500 ){ return ( $groesse ." kB" ); }else{ return ( number_format( $groesse/1000 , 1 , "," , ".") ." MB" ); } } ?>


zum Seitenanfang



Links erzeugen und E-Mail-Adressen (zum Spamschutz) codieren

Manchmal will man mit PHP HTML-Links oder Links zu E-Mail-Adressen erzeugen. Wenn man es zum ersten Mal oder selten macht, ist das ein ziemliches Basteln. Eine einmal fertige Funktion hilft für die Zukunft. E-Mail-Adressen werden zum Spamschutz in ASCII codiert. Damit werden schon mal erstaunlich veiel Spams verhindert. Noch besser ist es natürlich, die eigene Adresse als .gif-Bildchen in die Seite zu stellen.

<?php function htmllink($link, $text="", $target = "", $title = "" ){ /* einen html-Link erzeugen und E-Mail-Adressen (zum Spamschutz) codieren Funktion veröffentlicht von www.KlickTipps.de */ // Eingaben aufbereiten $text = trim($text); $link = trim($link); $target = trim($target); //optionaler Parameter $title = trim($title); //optionaler Parameter if ( $link=="" and $text=="" ) { return(""); } //keine sinnvolle Ausgabe möglich if ( $link!="" and $text=="" ) { $text=$link; } if ( $link=="" and $text!="" ) { return($text); } //kein Link vorhanden - normaler Text if ( $target!="" ) { $target = " target=\"" . trim($target) . "\""; } // ist der Link eine E-Mail-Adresse? $emaillink = false; if ( strpos( "$link" ,"@" ) AND strrpos( $link ,"." ) AND strpos( "$link" ,"@" ) < strrpos( $link ,"." ) ){ $emaillink = true; } // bei bestimmten Dateiarten die Größe ermitteln // zur hier benutzten Funktion dateigroesse_km( $link ): siehe voriger Abschnitt if ( $title == "" ){ $dateityp = strrchr ( $link , "." ); if ( strpos( ".pdf.docx.xls.zip.ppt" , $dateityp ) !== false ) { $title = $dateityp . "-Datei, " . dateigroesse_km( $link ) ; } } //title erzeugen if ( $title != "" ){ $title = " title=\"" . $title . "\""; } //Link ausgeben if( $emaillink ){ //es ist ein E-Mail-Link: 'mailto:' einfügen und codieren gegen Spam $ausgabe = "<a href=\"" . str_to_ascii("mailto:" . $link) . "\"" . $title . ">"; $text = str_to_ascii( $text ); }else{ //HTML-Link $ausgabe = "<a href=\"" . $link . "\"" . $target . $title . ">"; } return ( $ausgabe . $text . "</a>" ); } function str_to_ascii($input){ // Sting in ASCII umwandeln z. B. zum Verschlüsseln von E-Mail-Adressen $ascii = NULL; for ($i = 0; $i < strlen($input); $i++) { $ascii .= '&#' . ord($input[$i]) . ';'; } return($ascii); } // So wird die Funktion z. B. aufgerufen: echo htmllink( "http://www.klicktipps.de" , "Viele Tipps in Klicktipps" , "_blank" , "klick mich!") . "\n" ; // oder so für einen Link zu einer E-Mail-Adresse: echo htmllink( "wie_heisst_sie_wohl@web.de" , "meine beste Feundin" , "" , "" ) . "\n" ; // und so für eine pdf-Datei: echo htmllink( "irgendeine.pdf" , "xyz-Formular" , "_blank" , "") . "\n" ; ?> <!-- Die Funktion str_to_ascii() kann auch einzeln benutzt werden. Zwei Beispiele: Telefon: <?php echo str_to_ascii("06251 123usw."); ?> E-Mail: <a HREF="<?php echo str_to_ascii( 'mailto:' . 'adresse@wasauchimmer.de'); ?>"><img src="mailbildchen.gif" border="0"><?php echo str_to_ascii('adresse@wasauchimmer.de'); ?></a> -->


Bei pdf-, Word- oder Excel-Dateien wird mit title="....." ein Hinweis auf die zu erwartende Dateigröße ausgegeben.
Optionale Paremeter müssen beim Aufruf der Funktion nicht immer gesetzt werden; aber wenn man es tut, dann von links her in der richtigen Reienfolge.
zum Seitenanfang



Bilder anzeigen

Leuchtturm Leuchtturm Bilder werden immer wieder in HTML-Seiten eingebaut. Damit der Seiteninhalt nicht hin- und herspringt, muss die Bildgröße ermittelt und angegeben werden. Manuell ist das sehr lästig.
Diese PHP-Funktion ermittelt auch die Größe des Bildes und gibt den img-Befehl mit width und height aus.

<?php function bild_anzeigen( $bild , $text , $css = "" , $prozent = 100 ){ // Bild anzeigen (vorher Größe ermitteln) // Funktion veröffentlicht von www.KlickTipps.de $bild_array = getimagesize($bild); // für GIF-, JPG-, PNG oder SWF-Dateien $bild = trim( $bild ); $text = trim( $text ); $css = trim( $css ); // optionaler Parameter für weiteres if ($prozent <= 0) { $prozent = 100;} // optionaler Parameter für Änderung Bildgröße $ausgabe = "<img src=\"" . $bild . "\""; if ( $bild_array[0] > 0 and $bild_array[1] > 0 ){ $ausgabe = $ausgabe . " width=\"" . round($bild_array[0]*$prozent/100) . "\""; $ausgabe = $ausgabe . " height=\"" . round($bild_array[1]*$prozent/100) . "\""; } if ( $css != "" ){ $ausgabe = $ausgabe . " style=\"" . $css . "\""; } if ( $text != "" ){ $ausgabe = $ausgabe . " alt=\"" . $text . "\""; } $ausgabe = $ausgabe . ">"; return( $ausgabe ); } // So wird die Funktion z. B. über in diesem Abschnitt genutzt: // kleinerer Leuchtturm: echo " " . bild_anzeigen( "bilder/leuchtturm1.gif" , "Leuchtturm" , "float:left; margin: 0px 8px 3px 0px; border:1px solid #cccccc;" , 50 ) . "\n "; // größerer Leuchtturm: echo " " . bild_anzeigen( "bilder/leuchtturm1.gif" , "Leuchtturm" , "float:left; margin: 0px 8px 3px 0px; border:1px solid #cccccc;" ) . "\n "; // und so ohne CSS und ohne Größenänderung: echo " " . bild_anzeigen( "bilder/leuchtturm1.gif" , "" ) . "\n "; ?>


zum Seitenanfang



Die aktuelle Seite ermitteln

Für manche Steuerungsaufgaben (Einblenden von Untermenüs, Einblenden von seitenspezifischer Werbung usw.) ist es wichtig, die aktuelle Seite zu ermitteln:

<?php function this_file( $input = "" ) { // gibt den momentanen Filenamen aus (wenn keine Eingabe) - Ausgabe: Filename // oder vergleicht ihn mit $input - Ausgabe: true oder false // Funktion veröffentlicht von www.KlickTipps.de $filename = basename($_SERVER[PHP_SELF]); if ( $input == "" ){ return ( $filename ); }else{ return ( $input == $filename ); } } ?>


zum Seitenanfang



Spaß mit Ostereiern   ;-);-);-);-)

Die bisher vorgestellten Funktionen kann man nach Lust und Laune kombinieren. In diesem Fall werden sie benutzt, um in den Ostertagen ein paar zufällig ausgewählte Ostereier anzuzeigen.

<?php function ostereier( $anz_min=1 , $anz_max=5 , $groesse=100 ){ // Es erscheinen $anz_min bis $anz_max zufällig ausgewählte Ostereier // Die Bildgröße kann in Prozent verändert werden. // Ohne Parametereingabe erscheinen 2 bis 5 Eier in normaler Größe. // Funktion veröffentlicht von www.KlickTipps.de if ( $anz_min <=0 ){ $anz_min = 1; } if ( $anz_max <=0 or $anz_max < $anz_min or $groesse<5){ return; } $pfad = "bilder/eggs/"; // Pfad, in dem die Bilder liegen $arr = array("egg1.gif", "egg2.gif", "egg3.gif"); // die Dateinamen der Bilder $text = ";-)"; // alt-Text for ($i=0; $i < zufall($anz_min,$anz_max); $i++) { echo bild_anzeigen($pfad.$arr[zufall(0,count($arr)-1)],$text,"padding-right:2px",$groesse); } } ?> <!-- und so wird die Funktion z. B. über in diesem Abschnitt in HTML-Umgebeung genutzt: --> <?php ostereier( 2 , 5 , 70 ); echo " \n" ?> // 2 bis 5 Eier in 70% Größe <!-- und so ist sie von Ostersamstag bis Mittwoch nach Ostern aktiv: --> <?php $ostern = easter_date( date("Y") ); $ostermonat = date("n" , $ostern ); $ostertag = date("j" , $ostern ); if ( termin_anzeigen($ostertag, $ostermonat, date("Y"), 1, 3) ){ ostereier( 2 , 5 , 70 ); echo " \n"; } ?>

Diese Funktion kann man natürlich auch für vieles Andere als 'nur' für Ostereier benutzen.

Dass der Cursor hier zum Osterei wird, geschieht übrigens nicht durch PHP, sondern durch CSS mit <div style="cursor:url('eggs2.cur'), auto;">. Mehr Informationen dazu gibt es z. B. bei anicursor.com.
Eine .gif-Datei lässt sich z. B. mit den Programmen "IconArt" oder "Microangelo" in eine .cur-Datei umwandeln.
zum Seitenanfang




Funktionen in .php-Dateien einfügen

Wie fügt man solche Funktionen in seine .php-Dateien ein?
Man schreibt sie in eine Datei, die man z. B. funktionen.inc.php nennt. Diese Datei beginnt mit <?php und endet mit ?>.
In Dateien, in denen die Funktionen benötigt werden, werden sie mit

<?php include_once ( "funktionen.inc.php" ); ?>


eingefügt.
Man benutzt include_once statt include, damit es nicht zu Problemen kommt, falls man funktionen.inc.php versehentlich mehrmals includiert.

Anmerkung: Mit include kann man natürlich auch HTML-Code in eine Homepage-Seite einbauen. Code-Teile, die in vielen Seiten benutzt werden, müssen dann nur einmalig programmiert und gepflegt werden. Allein dieser Aspekt von include ist für mich schon ein Grund, Homepages möglichst nur noch auf einem PHP-fähigen Server zu bauen.
Wir bevorzugen inzwischen www.goneo.de, weil dort bereits im kleinsten Paket zu günstigem Preis viel geboten wird.



Variablen in .php-Dateien einfügen

Manchmal man Werte in Texten, die an vielen Stellen vorkommen, die man aber gelegentlich finden und ändern muss.
In Klicktipps sind das z. B. der Grundfreibetrag der Einkommensteuer (bis 2008: 7.664 € pro Person; 2009: 7.834 €; ab 2010: 8.004 €), die Werbungskostenpauschale (920 €) oder die Zinssätze in der Seite Tagesgeld und Festgeld.
Wenn man solche Werte an einer einzigen Stelle ändern kann, spart das viel Arbeit.

Vorgehensweise:



Den echo-Befehl ersetzen

Manchmal möchte man ganze HTML-Bereiche, also mehrere Zeielen auf einmal, ein- oder ausblenden. Mit dem Befehl echo() ist das zwar möglich, aber doch recht lästig.
Die Heredoc-Syntax erspart schon einige echo()-Befehle. Aber es geht noch wesentlich einfacher, indem man den HTML-Teil in eine PHP-Bedingung einschließt:

<?php if( irgendeine Bedingung ) { ?> <!-- ab hier können jetzt beliebig viele HTML-Zeilen stehen --> <?php }else{ ?> <!-- und hier der alternative Text --> <?php } ?>


zum Seitenanfang


PHP-Fehlermeldungen

Wenn in PHP falsch programmiert wird, gibt es Fehlermeldungen. Sie sind allerdings manchmal nicht so wirklich verständlich.
Die am häufigsten oder am schwierigsten zu findendenden PHP-Fehler und ihre Ursachen sind hier aufgelistet. Die beschriebene Ursache muss nicht die einzig mögliche sein, ist aber die jeweils wahrscheinlichste.

Fehler: Parse error: unexpected $end in xxxxxxxxx on line nnn
Ursache: Eine schließende geschweifte Klammer "}" fehlt.

F: Parse error: unexpected '<' in xxxxxxxxx on line nnn
U: Das <?php wurde nochmals innerhalb von PHP-Code benutzt.

F: eine IF-Bedingung funktioniert absolut nicht
U: Es wurde nur ein = statt einem == verwendet.

F: PHP funktioniert nicht richtig
U1: Nochmal grübeln, ob man wirklich logisch programmiert hat, oder ob vielleicht mal wieder < mit > verwechselt wurde.
U2: die Operatoren == oder != können Fehler verursachen. Manchmal (z. B. bei strpos) ist es besser, === false oder !== false zu benutzen. (mehr zu strpos() bei www.php.net)

F: Parse error: unexpected T_ZZZZ in xxxxxxxxx on line nnn
U: Häufigste Ursache: In der Zeile vor dem ZZZZZ mal wieder ein Semikolon vergessen. *seufz*

F: Parse error: unexpected T_IF in xxxxxxxxx on line nnn
U: Vor dem IF ein Semikolon vergessen oder vor die Kurzschreibweise ( (nnn==mmm) ? aaaaa : bbbbb ) ein unnötiges IF eingesetzt.

F: Parse error: unexpected '}', expecting ',' or ';' in xxxxxxxxx on line nnn
U: Der Befehl vor der geschweiften Klammer (Ende von IF, FOR oder WHILE) wurde nicht mit Semikolon beendet.

F: Parse error: unexpected T_CONSTANT_ENCAPSED_STRING, expecting ',' or ';' in xxxxxxxxx on line nnn
U1: Vor einer String-Konstenten z. B. "yyyy" oder 'yyyy' fehlt ein Komma, ein Semikolon oder ein Punkt.
U2: Es gibt eine ungerade Anzahl von Gänsefüßchen oder Hochkommas.

F: Parse error: unexpected '.' in xxxxxxxxx on line nnn
U: Zur Abwechslung mal ein Semikolon zu viel (vor einem Punkt)?

Bei www.user-archiv.de/php-fehlermeldungen.html, www.drweb.de/magazin/... und www.phpforum.de/forum/... finden Sie weitere PHP-Fehlermeldungen mit Hinweisen auf deren Ursache.
zum Seitenanfang




© Klicktipps® (www.Klicktipps.de):
Dieser Ausdruck ist nur für den eigenen Gebrauch freigegeben.
Eine Vervielfältigung ist nicht gestattet und auch wenig sinnvoll,
da sich der Inhalt durch Aktualisierungen häufig ändert.