|
Blog - Forum - Newsletter
|
KontaktformularVorüberlegung Das Formular <html>
<head> <title>Dateneingabe</title> </head> <body> <h1 align="center">Meinungen</h1> <p><form action="auswert.php" method="post"> Dein Name: <input name="name" size="20"><br> E-Mail: <input name="EMail" size="20"><br> Bist du einer unserer Benutzer? <input type="radio" name="user" value="Ja">Ja--- ---<input type="radio" name="user" value="Nein">Nein<br> Wie findest du unsere Seite?<br> <select name="meinung" size="1"> <option>Sehr gut <option>Gut <option>Befriedigend <option>Ausreichend <option>Mangelhaft <option>Ungenügend </select><br><br> <input type="submit" value="Abschicken"> </form></p> </body> </html> Das ganze sähe dann in etwa so aus: ![]() Und jetzt zum eigentlichen Kernteil: Der Auswertung Auswertung mit PHP <?php
echo "Ihr name ist ".$name.".<br>"; echo "Ihre E-Mailadresse lautet ".$EMail.".<br>"; echo "Sind Sie User? ".$user."<br>"; echo "Sie finden unsere Seite ".$meinung."."; ?> Das wäre aber etwas langweilig und recht unnützlich. Der User wird schließlich noch wissen,
was er eingegeben hat. Wir nähern uns der mail()-Funktion. Aber zuerst brauchen wir noch
ein paar Grundlagen.
Hat der Benutzer etwas eingegeben? - Die
if()-Funktion <?php
$a = 7; if ($a <= "3") { echo $a." ist kleiner oder gleich 3."; } else if ($a > "3" && $a <= "7") { echo $a." ist größer als 3 und kleiner oder gleich 7."; } else { echo $a." ist größer als 7."; } ?> Man kann zwischen { und } beliebig viele Befehle schreiben. Diese enden dann mit einem
Semikolon (;). Normalerweise werden die Einzelbefehle untereinander geschrieben. Es ist aber nicht zwingend erforderlich
(aber übersichtlicher).
Die ereg()-Funktion
Wenn die Zeichenkette abc zweimal vorkommt, reicht es nicht, abc{2} zu schreiben, sondern (abc){2}! Die Klammern werden hier nicht verglichen. Beispiel: $variable = "Hallo123"; $muster = ".{2}l{2}.([0-9]){3}"; $a = ereg($muster, $variable); echo $a; In diesem Beispiel sollte dann im Ergebnis true da stehen. Das Muster ist
folgendermaßen: 2 beliebige Buchstaben (Ha), 2 mal das L, ein beliebiger Buchstabe und 3 beliebige Ziffern von 0 bis 9 (123).
Das Muster stimmt also mit der Variablen überein. In Verbindung mit einer if()-Abfrage
ist das auch sehr willkommen, da man hier schreiben kann: $variable = "Hallo123";
$muster = ".{2}l{2}.([0-9]){3}"; if (ereg($muster, $variable)) { echo "Das Muster stimmt mit der Variablen überein."; } else { echo "Das Muster stimmt nicht überein."; } Die Eingabeprüfung der E-Mailadresse <?php $muster = "^[_a-zA-Z0-9-](\.{0,1}[_a-zA-Z0-9-])*@([a-zA-Z0-9-]{2,}\.){0,}[a-zA-Z0-9-]{3,}(\.[a-zA-Z]{2,4}){1,2}$"; if (ereg($muster, $EMail)) { echo "E-Mailadresse OK."; } else { echo "E-Mailadresse ungültig."; } ?> Natürlich ist das auch noch nicht ganz sicher, aber schon mal ein Ansatz.
Übrigens: In $muster kommt dreimal "\." vor. Der "\" sagt, dass es sich um einen normalen Punkt
handelt, und nicht um den Befehl, einen beliebigen Buchstaben zu suchen. Will man einen normalen \, muss man auch hier
eingeben: "\\", damit dann nur einer ausgegeben wird.
Die mail()-Funktion <?php mail("max@mustermann.de","Betreff","Inhalt der E-Mail","From: max@homepage.de"); ?> Im Beispiel wird eine E-Mail an die Adresse max@mustermann.de verschickt. Der
Betreff lautet "Betreff" und der Text, der in der E-Mail steht, ist "Inhalt der E-Mail". Wir haben also oben Absender,
Betreff, Inhalt und etwas noch nicht erklärtes. Die Befehle werden mit Komma (,) abgetrennt. Der letzte Teil oben
ist die so genannte Header-Information. Hier wurde einfach festgelegt, dass die E-Mail von (From: ) max@homepage.de ist.
Es wurde also der Absender festgelegt.
WICHTIG: Nicht alle Server unterstützen die mail()-Funktion! Da hilft nur ausprobieren. Das gesamte Script <?php
$muster = "^[_a-zA-Z0-9-](\.{0,1}[_a-zA-Z0-9-])*@([a-zA-Z0-9-]{2,}\.){0,}[a-zA-Z0-9-]{3,}(\.[a-zA-Z]{2,4}){1,2}$"; if ($user == "Ja") { $wort = "ein"; } else { $wort = "kein"; } if (ereg($muster, $EMail)) { mail("max@mustermann.de","Meinung zu meiner Homepage",$name." ist ".$wort." User und findet die Seite ".$meinung."!","From: ".$EMail); } else { echo "Die E-Mailadresse ist ungültig!"; } ?> |
|
| Mathe - Physik - Informatik - Kunst - Deutsch - Latein - Englisch - Französisch - Italienisch - Spanisch - Politik - Wirtschaft |
| Impressum |
|
|
| Kontakt | Social Bookmarks |
Letzte Änderung: 01.01.1970 01:00 Uhr
URL: http://www.lern-online.net/informatik/programmiersprachen/php/lektion02.php