|
|
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." |
|
|
|
|||
<!-- 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 '; ?>
<?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 ; } ?>
<?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; } ?>
<?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; ?>
<?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"))); ?>
<?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 ) ){ } ?>
<?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 } ?>
<?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) ); } ?>
<?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 )]; } ?>
<?php function trimall( $eingabe ){ /* alle Blanks aus einem String entfernen Funktion veröffentlicht von www.KlickTipps.de */ return( str_replace( ' ', '', $eingabe ) ); } ?>
<?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" ); } } ?>
<?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> -->
<?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 "; ?>
<?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 ); } } ?>
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
Eine .gif-Datei lässt sich z. B. mit den Programmen "IconArt" oder "Microangelo" in eine
.cur-Datei umwandeln.
<?php include_once ( "funktionen.inc.php" ); ?>
<?php if( irgendeine Bedingung ) { ?> <!-- ab hier können jetzt beliebig viele HTML-Zeilen stehen --> <?php }else{ ?> <!-- und hier der alternative Text --> <?php } ?>