Alle Dateien eines Verzeichnisses ausgeben:
Es werden alle Dateien im Verzeichnis 'dateien' angezeigt.
Das Skript:
<html> <body bgcolor="#C0C0C0"><font size ="6" color="#ff0000"> <?php $handle=opendir ('dateien/'); echo "Dateien im Verzeichnis 'dateien':<br>"; while ( $file = readdir ( $handle ) ) { if( $file != "." && $file != "..") { echo "$file <br>";} } closedir($handle); ?> </font> </body></html> |
<html> <body bgcolor="#C0C0C0"><font size ="6" color="#ff0000"> <?php $handle=opendir ('.'); echo "<b>Bilder</b>:<br>"; while ( $file = readdir ( $handle ) ) { if(substr($file, -4) == '.jpg' || substr($file, -4) == '.gif') { echo "<a href='$file'>$file</a> <br>"; } } closedir( $handle ); ?> </font> </body></html> |
Seite mit Passwort schützen:
Auf der Seite pwdadmin1.php wird
nach einem Passwort gefragt.
Dieses wird beim Abschicken des Formulars an die Datei pwdadmin2.php geschickt.
Wenn dieses mit dem in der Variablen $p
gespeicherten Passwort (hier "passwort")
überein stimmt, wird der Inhalt der
Seite gezeigt. Andernfalls erscheint "keine
Berechtigung !!!".
Das Skript von pwdadmin1.php:
<html> <body bgcolor="#C0C0C0"><font size ="6" color="#ff0000"> <h1> <font color='#ff0000'> Anmeldung für Admins</font></h1> <form action="pwdadmin2.php" method='post'> <font Color="#0000ff" size="4" > <hr><br> Geben Sie hier bitte Ihr Kennwort ein: <input type='password' name='pwd' size='20' maxlength ='30' ><br><br> </select> <br><br><input type='submit' name='submit' value='Zum Adminbereich'><br><br> </font> </body></html> |
Das Skript von pwdadmin2.php:
<html> <body bgcolor="#C0C0C0"><font size ="6" color="#ff0000"> <h1><font color ='#ff0000'>Menü Adminbereich</font></h1> <hr size="3" color="#ff0000"> <?php $pwd=$_POST["pwd"]; $p="passwort"; if($pwd != $p): echo "keine Berechtigung !!!"; ?> <?php else: ?> Hier bist du im gesicherten Bereich. Das Passwort war richtig. <?php endif; ?> </body></html> |
Das Skript von upload.php:
<html><body> <h2>Bild hochladen</h2><hr> <form action="upload.php" method="post" enctype="multipart/form-data"> <font face="Arial">Bild auswählen: </font> <input type ="file" name = "uploadfile" > <br> <input type ="submit" name ="go" value="Hochladen" > </form> <?php error_reporting(0); $size=$_FILES["uploadfile"]["size"]; $data=$_FILES["uploadfile"]["tmp_name"]; $name=$_FILES["uploadfile"]["name"]; $type=$_FILES["uploadfile"]["type"]; if (!$data) die(" "); echo "Die Bildgröße des hochgeladenen Bilds: $size <br>"; $tempfile=fopen($data,"rb"); $filedata=fread($tempfile,$size); $filedata=addslashes($filedata); $sql="insert into bilder (filename, mimetype, filedata) values ('$name', '$type','$filedata')"; $link=mysql_connect("localhost","root",""); mysql_select_db("datenbank"); mysql_query($sql); echo "Das Bild wurde mit der gespeichert!"; ?> </body> </html> |
Falls man die folgende Zeile (z.B. am Ende des
Programms) einfügen würde
copy($data,"bilder/$name");
dann würde das Bild zusätzlich im Verzeichnis bilder (muss natürlich vorhanden
sein unter htdocs)
gespeichert werden. Dies ist aber nicht zu empfehlen, sonst könnte jeder alle
möglichen Dateien
auf den Server laden und es gäbe auch bei gleichen Dateinamen Probleme.
Das Skript von bild.php:
<?php $id = $_GET["id"]; $sql="select filename, mimetype, filedata from bilder where id='$id'"; $link=mysql_connect("localhost","root",""); mysql_select_db("datenbank"); $result=mysql_query($sql); $mimetype=mysql_result($result,0,"mimetype"); $filedata=mysql_result($result,0,"filedata"); header("Content-Type: $mimetype"); echo($filedata); ?> |
Das Skript von ip.php:
<html> <body> <?php echo "Deine IP-Adresse lautet: ".$_SERVER['REMOTE_ADDR']; ?> </body> </html> |
Zähler erstellen:
Mit dem folgenden Skript wird ein so genannter Zähler erstellt. Hierin dürfen
keine HTML-Kommandos
erscheinen, da dieses Skript eine Grafik erzeugt. Wird dieses beispielsweise
unter dem Namen zaehler.php
gespeichert, so kann dieser Zähler auf einer Seite wie eine Grafik (mit <img src="zaehler.php">)
eingebunden
werden.
Das Skript speichert täglich alle ip-Adressen von Personen in der Tabelle ip,
die die Datei zaehler.php aufrufen.
Damit soll sichergestellt werden, dass keine Person an einem Tag zweimal gezählt
wird (was allerdings passieren
könnte, wenn sich die ip-Adresse einer Person an einem Tag ändert und diese dann
noch mal zaehler.php aufruft).
Das Skript von zaehler.php:
(Hier können die SQL-Kommandos zum Erstellen der
benötigten
Datenbank und Tabellen geladen werden. Dabei
wird auch ein erster Datensatz in der Tabelle 'zahl' angelegt mit dem Wert 0 im
gleichnamigen Feld 'zahl'.)
<?php mysql_connect("localhost","root",""); mysql_select_db("zaehler"); $ip = $_SERVER['REMOTE_ADDR'];; // alte ips löschen $abf5="delete from ip where datum < CURDATE()"; mysql_query($abf5); // Zählerstand lesen $abf="select * from zahl"; $a=mysql_query($abf); $a1 = mysql_fetch_array($a); $a1x=$a1[0]; // prüfen, ob ip schon eingetragen wurde $abf2="select count(*) from ip where ip='$ip'"; $b=mysql_query($abf2); $b1 = mysql_fetch_array($b); if ($b1[0]==0): $a1x=$a1x+1; $abf3="update zahl set zahl = $a1x"; mysql_query($abf3); $abf4="insert into ip (datum,ip) values (CURDATE() ,'$ip')"; mysql_query($abf4); endif; //erzeuge Bild $im = ImageCreate (90, 20); //Weiss und Schwarz zuordnen $weiss = ImageColorAllocate ($im, 255,0, 0); $schwarz = ImageColorAllocate ($im, 0, 0, 0); //Weissen Hintergrund zeichnen ImageFilledRectangle($im,0,0,80 ,20,$weiss ); //Zählerstand anzeigen imagestring ( $im, 6, 35,2, "$a1x", 1); // Schwarzes Rechteck um das Bild ImageRectangle($im,0,0,90,20,$schwarz); //Bild ausgeben Header ("Content-type: image/png"); ImagePNG ($im); ImageDestroy ($im); ?> |
Daten per PHP-Session übergeben:
Alternativ zum Übertragen von Daten per POST oder
GET kann man auch PHP-Sessions verwenden.
Im folgenden Beispiel werden Daten per PHP-Session (von seite1.php zu seite2.php
und umgekehrt) übertragen,
sobald auf den Link geklickt wird:
Das Skript von seite1.php:
<?php session_start(); ?> <!-- keine Kommentare, Leerzeilen ... vor obigen PHP-Block mit session_start. --> So oft wurde die Seite
gewechselt: <br><a href="seite2.php?<?php SID ?>">hier geht’s zur nächsten Seite</a> |
Das Skript von seite2.php:
<?php session_start(); ?> <!-- keine Kommentare, Leerzeilen ... vor obigen PHP-Block mit session_start. --> So oft wurde die Seite
gewechselt: <br><a href="seite1.php?<?php SID ?>"> hier geht’s zur nächsten Seite</a> |
Bermerkungen:
Löschen von der Werte von Session-Variablen:
unset($_SESSEION["var"]) oder mit $_SESSION=array() alle löschen.
Statt Link Formular mit
Submit-Button verwenden:
Ersetzt man in seite1.php die letzte Zeile (mit <a href…) durch
<form method="post" action = "seite2.php">
<input type="hidden" name ="PHPSESSID" value ="<?php
=session_id() ?>">
<input type = "submit" value="nächst Seite" >
dann werden die Daten beim Klicken auf den submit-Button per Session übergeben.
In dem versteckten Feld (‚hidden’) wird die Session-ID übergeben.
Änderung des root-Passworts in MySQL:
Das root-Passwort in MySQL steht standardmäßig auf '', d.h. man benötigt
keine Passwort für den Hauptbenutzer root, nachdem XAMPP neu installiert wurde.
Diese kann man aber ändern, indem man im SQL-Fenster von PHPMyAdmin
update mysql.user set Password=PASSWORD('neuespwd') where
user='root';
eingibt, dann wäre 'neuespwd' das neue Passwort für den Hauptbenutzer root.
Beim Verbinden über PHP zu MySQL müsste dann
mysql_connect("localhost","root","neuespwd");
verwendet werden, statt wie in den Beispielen:
mysql_connect("localhost","root","");
Das Passwort kann man auch per Klicken im PHPMyAdmin ändern.
Hier muss man
als Datenbanken mysql und als Tabelle user wählen. Hier
kann man dann auf Anzeigen
klicken, dann
die Zeile(n) mit user=root bearbeiten (auf Stift klicken). Hier
muss man dann aber
als Funktion PASSWORD wählen, wenn man den
Wert im Feld Passwort ändern möchte.
Danach auf OK klicken, zum Speichern.
Nach einer Änderung des Passworts am besten neu starten.
Aber Achtung: Man muss für den PHPMyAdmin auch das neue root-Passwort
einstellen.
Hierzu muss man im Verzeichnis phpmyadmin
die Datei config.inc.php editieren und die Zeile
$cfg['Servers'][$i]['password'] = '';
in
$cfg['Servers'][$i]['password'] = 'neuespwd';
ändern.
Analog können auch neue Benutzer angelegt
werden.
Münzspiel mit Einsatz:
Es folgt noch ein Münzspiel, bei dem man am Anfang 100 Punkte hat und von
diesen 100 Punkte
einen Teil (oder alle) setzen kann. Setzt man richtig, erhält man den Einsatz
dazu, ansonsten ist
er weg und die Punktzahl reduziert. Im gleichen Verzeichnis wie dieses Skript
muss sich ein Bild
von dem "Wappen" der Münze mit dem Namen "1.jpg" und eines von der "Zahl" der
Münze
("2.jpg") befinden.
Das Skript von muenze.php:
<HTML> <HEAD><TITLE> Münzwurf </TITLE> </HEAD> <body bgcolor="#C0C0C0" background=""><font size ="4" color="#ff0000"> <b>Münzspiel:</b><br> Es wird ein mal eine Münze geworfen.<br><br> <form action="<?php echo $PHP_SELFE; ?>" method="post"> Auf was setzt du?<br> <select name="tipp" size="2"> <option value="1">Wappen</option> <option value="2">Zahl</option> </select> <br><br> Einsatz eingeben:<input type ="text" name= "einsatz" value="0" ><br> Der Einsatz kann maximal die vorhandenen Punkte betragen!<br><br> <input type ="submit" name= "spiel" value="werfen" ><br> <hr> <?php $spiel=$_POST["spiel"]; // Falls das erste mal auf submit geklickt wurde: if ($spiel=="werfen"): $tipp=$_POST["tipp"]; $einsatz=$_POST["einsatz"]; $punkte = $_POST["punkte"]; // Falls keine Zahl als Einsatz eingegeben wurde, wird dieser auf Null gesetzt! if (!is_numeric($einsatz)){$einsatz=0;} srand(microtime()*1000000); // Zufallszahl ziehen (1 oder 2) $x=rand(1,2); ?> Ergebnis:<br> <table border='1'><tr> <?php echo "<td><img src='".$x.".jpg'></td>"; ?> </tr></table> <?php if ($x==$tipp){ echo "<br>Gewonnen!"; $g=1;} else { echo "<br>Verloren!"; $g=0;} // man kann maximal die vorhandenen Punkte setzten. // Einsatz auch darf nicht negativ sein! if ($einsatz>$punkte) {$einsatz=$punkte;} if ($einsatz<0) {$einsatz=0;} if ($g==1) {$punkte = $punkte + $einsatz;} else { $punkte=$punkte-$einsatz;} echo "<br>Dein Einsatz betrug $einsatz."; echo "<br>Punktestand:<input type='hidden' name='punkte' value ='$punkte' ><br>"; echo "Du hast nun $punkte Punkte!"; else: // Nach dem Laden der Seite hat man 100 Punkte! echo "<br>Punktestand:<input type='hidden' name='punkte' value ='100' ><br>"; echo "Du hast nun 100 Punkte!"; endif; ?> </form> </font> </body></HTML> |
Zwei Würfelspiele:
Hier sind noch zwei Würfelspiele
zu finden.
Black Jack:
Hier ist das Skript für eine Black Jack Variante. Die Bilder der Karten
könnt ihr
hier herunter laden.
Das Skript von blackjack.php:
<HTML> <HEAD><TITLE> Special Black Jack </TITLE> </HEAD> <body bgcolor="#C0C0C0" background=""><font size ="4"> <h1>Black Jack</h1> <form action="index.php" method="post"> Einsatz eingeben:<input type ="text" name= "einsatz" value="0" ><br> Der Einsatz kann maximal die vorhandenen Punkte betragen!<br><br> <input type ="submit" name= "spiel" value="spielen" ><br> <hr> </font><font size ="4" color="#0000ff"> <?php $spiel=$_POST["spiel"]; // Werte der Karten: $werte=array(7,8,9,10,10,10,10,11,7,8,9,10,10,10,10,11,7,8,9,10,10,10,10,11,7,8,9,10,10,10,10,11); // Falls das erste mal auf submit geklickt wurde: if ($spiel=="spielen"): $tipp=$_POST["tipp"]; $einsatz=$_POST["einsatz"]; $punkte = $_POST["punkte"]; // Falls keine Zahl als Einsatz eingegeben wurde, wird dieser auf Null gesetzt! if (!is_numeric($einsatz)){$einsatz=0;} // n = Anzahl Züge,m=Anzahl Karten $n=4; $m=32; $a=array(); srand(microtime()*1000000); $x=rand(1,$m); $a[1]=$x; for($i=2;$i<=$n;$i++){ while(in_array($x,$a)) {srand(microtime()*1000000); $x=rand(1,$m);} $a[$i]=$x;} ?> <br>Karten der Bank:<br> <table border='1'><tr> <?php echo "<td><img src='".$a[1].".JPG'><br>Wert:".$werte[$a[1]-1]."</td>"; echo "<td><img src='".$a[2].".JPG'><br>Wert:".$werte[$a[2]-1]."</td>"; ?> </table> Summe Punkt der Bank: <?php $bankwert = $werte[$a[1]-1]+$werte[$a[2]-1]; echo $bankwert; ?> <br><br> Deine Karten:<br> <table border='1'><tr> <?php echo "<td><img src='".$a[3].".JPG'><br>Wert:".$werte[$a[3]-1]."</td>"; echo "<td><img src='".$a[4].".JPG'><br>Wert:".$werte[$a[4]-1]."</td>"; ?> </tr></table> Summe deiner Punkt: <?php $meinwert = $werte[$a[3]-1]+$werte[$a[4]-1]; echo $meinwert; ?> <br><br> <hr> </font> <font size ="4" color="#ff0000"> <?php if ($meinwert>$bankwert){ echo "<br>Gewonnen!"; $g=1;} else { echo "<br>Verloren!"; $g=0;} // man kann maximal die vorhandenen Punkte setzten. // Einsatz darf auch nicht negativ sein! if ($einsatz>$punkte) {$einsatz=$punkte;} if ($einsatz<0) {$einsatz=0;} if ($g==1) {$punkte = $punkte + $einsatz;} else { $punkte=$punkte-$einsatz;} echo "<br>Dein Einsatz betrug $einsatz."; echo "<br>Punktestand:<input type='hidden' name='punkte' value ='$punkte' ><br>"; echo "Du hast nun $punkte Punkte!"; else: // Nach dem Laden der Seite hat man 100 Punkte! echo "<br>Punktestand:<input type='hidden' name='punkte' value ='100' ><br>"; echo "Du beginnst mit 100 Punkte!"; endif; ?> </form> </font> </body></HTML> |
Special Black Jack:
PC - Datenbank:
Warenkorb:
Bei Fragen: e-Mail schicken.