Hier mein Script:
es stellt den Versuch da, 2 Formulare in einer Datei abzuhandeln, was auch ganz gut functioniert!
Folgendes Problem: sobald mein erstes Formular ausgefüllt und gesendet wurde, überprüft die function eingabe_check auf Eingabefehler! Ist ein Fehler vorhanden, läd er Formular 1 nochmal neu!
Das selbe tut er bei Formular 2 mit function eingabe2_ckeck.
Frage 1: Warum zeigt er mir die Fehlermeldungen nicht an, wenn er eins der Formulare aufgrund eines Fehlers nochmal neu läd? Was hab ich da falsch gemacht?
Frage 2: Wie muss ich mein Script erweitern, damit er nach erfolgreichem absenden von Formular 2 noch einaml alle eingegeben Daten anzeigt, bevor ich diese dann an die Datenbank sende!
Anmerkung: euch wird sofort auffallen, dass im sript die hiddenfelder fehlen, die die Variablen ins nexte Formular mitschleppen!
hier hatte ich ein function vpassthru() aus den tutorials dieser Seite verwendet! funzt aber net!
Hoffe ihr könnt mir helfen!
es stellt den Versuch da, 2 Formulare in einer Datei abzuhandeln, was auch ganz gut functioniert!
Folgendes Problem: sobald mein erstes Formular ausgefüllt und gesendet wurde, überprüft die function eingabe_check auf Eingabefehler! Ist ein Fehler vorhanden, läd er Formular 1 nochmal neu!
Das selbe tut er bei Formular 2 mit function eingabe2_ckeck.
Frage 1: Warum zeigt er mir die Fehlermeldungen nicht an, wenn er eins der Formulare aufgrund eines Fehlers nochmal neu läd? Was hab ich da falsch gemacht?
Frage 2: Wie muss ich mein Script erweitern, damit er nach erfolgreichem absenden von Formular 2 noch einaml alle eingegeben Daten anzeigt, bevor ich diese dann an die Datenbank sende!
Anmerkung: euch wird sofort auffallen, dass im sript die hiddenfelder fehlen, die die Variablen ins nexte Formular mitschleppen!
hier hatte ich ein function vpassthru() aus den tutorials dieser Seite verwendet! funzt aber net!
Hoffe ihr könnt mir helfen!
PHP-Code:
<?php
$step = $_POST["step"];
if(!$submit2 && !$submit){
formular_ausgabe($_firstname,$_lastname,$_ort,$_plz,$_************e,$_geburtstag,$_email);
}
if($submit){
echo eingabe1_check($_firstname,$_lastname,$_ort,$_plz,$_geburtstag,$_email);
}
if($submit2){
echo eingabe2_check($_username,$_passwort,$_passwort2);
}
function formular_ausgabe($_firstname,$_lastname,$_ort,$_plz,$_************e,$_geburtstag,$_email){
echo '<form method="post" name="formular" action="register2.php?step=2">
<table align="center" cellpadding="0" cellspacing="0">
<tr> '.$fehlermeldung.'
<td>
<p> '.$fehlerfirstname.' Vorname *
<input name="_firstname" type="text" id="_firstname" size="25" maxlength="50" value="'.$_firstname.'">
<br>
<br>
'.$fehlerlastname.' Nachname *
<input name="_lastname" type="text" id="_lastname" size="25" maxlength="50" value="'.$_lastname.'">
</p>
<p> '.$fehlerort.' Ort *
<input name="_ort" type="text" id="_ort" size="30" maxlength="50" value="'.$_ort.'">
<br>
<br>
'.$fehlerplz.' Postleitzahl *
<input name="_plz" type="text" id="_plz" size="6" maxlenght="6" value="'.$_plz.'">
</p>
<p>Geschlecht *
<input type="radio" name="_************e[1]" value="männlich">
M
<input type="radio" name="_************e[2]" value="weiblich">
W</p>
<p> '.$fehlergeburtstag.' Geburtsdatum *
<input name="_geburtstag" type="text" id="_geburtstag" size="10" maxlenght="10" value="'.$_geburtstag.'">
</p>
<p>'.$fehleremail.' Email *
<input name="_email" type="text" id="_geburtstag" size="30" maxlenght="120" value="'.$_email.'">
<br>
<br>
(*) Pflichtfelder </p>
<p>
<input type="submit" name="submit" value="weiter" onClick="eingabe1_check($_firstname,$_lastname,$_ort,$_plz,$_geburtstag,$_email)">
</p>
</td>
</tr>
</table>
</form>';
}
function formular_ausgabe2($_username,$_passwort,$_passwort2){
echo
'<form method="post" name="formular2" action="register2.php?step=3">
<table align="center" cellpadding="0" cellspacing="0">
<tr> '.$fehlermeldung2.'
<td> <p> '.$fehlerusername.' Benutzername *
<input name="_username" type="text" id="_username" size="25" maxlength="25" value="'.$_username.'">
<br>
<br>
'.$fehlerpasswort.' Passwort *
<input name="_passwort" type="password" id="_passwort" size="25" maxlength="50" value="'.$_passwort.'">
</p>
<p> '.$fehlerpasswort.' Passwort nocheinmal eingeben *
<input name="_passwort2" type="password" id="_passwort2" size="25" maxlength="50" value="'.$_passwort2.'">
<br>
<br>
(*) Pflichtfelder
</p>
<p>
<input type="hidden" name="_firstname" value="'.$_firstname.'">
<p>
<input type="submit" name="submit2" value="weiter">
</p></td>
</tr>
</table>
</form>';
}
function eingabe1_check($_firstname,$_lastname,$_ort,$_plz,$_geburtstag,$_email){
if ($_firstname == "") {
$fehler = 1;
$fehlermeldung.= " <div width=\"410\" bgcolor=\"#ffcccc\">Du hast nicht alle Pflichtfelder ausgefüllt!</div>\n<br>\n<br>\n";
}
elseif ($_lastname == "") {
$fehler = 1;
$fehlermeldung.= " <div width=\"410\" bgcolor=\"#ffcccc\">Du hast nicht alle Pflichtfelder ausgefüllt!</div>\n<br>\n<br>\n";
}
elseif ($_ort == "") {
$fehler = 1;
$fehlermeldung.= " <div width=\"410\" bgcolor=\"#ffcccc\">Du hast nicht alle Pflichtfelder ausgefüllt!</div>\n<br>\n<br>\n";
}
elseif ($_plz == "") {
$fehler = 1;
$fehlermeldung.= " <div width=\"410\" bgcolor=\"#ffcccc\">Du hast nicht alle Pflichtfelder ausgefüllt!</div>\n<br>\n<br>\n";
}
elseif ($_geburtstag == "") {
$fehler = 1;
$fehlermeldung.= " <div width=\"410\" bgcolor=\"#ffcccc\">Du hast nicht alle Pflichtfelder ausgefüllt!</div>\n<br>\n<br>\n";
}
elseif ($_email == "") {
$fehler = 1;
$fehlermeldung.= " <div width=\"410\" bgcolor=\"#ffcccc\">Du hast nicht alle Pflichtfelder ausgefüllt!</div>\n<br>\n<br>\n";
}
else $fehler = 0;
if(preg_match('/[^a-zA-Z]/i', $_REQUEST['_firstname'])){
$fehler = 1;
$fehlerfirstname .= " <div width=\"410\" bgcolor=\"#ffcccc\">Falsche Eingabe: Nur Buchstaben möglich !</div>\n<br>\n<br>\n";
}
if (preg_match('/[^a-zA-Z-]/i', $_REQUEST['_lastname'])) {
$fehler = 1;
$fehlerlastname .= " <div width=\"410\" bgcolor=\"#ffcccc\">Falsche Eingabe: Nur Buchstaben, Bindestrich oder Leerzeichen möglich !</div>\n<br>\n<br>\n";
}
if (preg_match('/[^a-zA-Z. -]/i', $_REQUEST['_ort'])) {
$fehler = 1;
$fehlerort .= " <div width=\"410\" bgcolor=\"#ffcccc\">Falsche Eingabe: Nur Buchstaben, Bindestrich, Punkt oder Leerzeich?????A????en möglich !</div>\n<br>\n<br>\n";
}
if (preg_match('/\D/', $_REQUEST['_plz'])) {
$fehler = 1;
$fehlerplz .= " <div width=\"410\" bgcolor=\"#ffcccc\">Falsche Eingabe: Nur Zahlen möglich !</div>\n<br>\n<br>\n";
}
if (preg_match('/[^0-9.]/i', $_REQUEST['_geburtstag'])) {
$fehler = 1;
$fehlergeburtstag .= " <div width=\"410\" bgcolor=\"#ffcccc\">Falsche Eingabe ! Bitte folgendes Format: (d.m.y)</div>\n<br>\n<br>\n";
}
if ($fehler == 1){ return formular_ausgabe($_firstname,$_lastname,$_ort,$_plz,$_************e,$_geburtstag,$_email);
}
else{ return formular_ausgabe2($_username,$_passwort,$_passwort2);
}
}
function eingabe2_check($_username,$_passwort,$_passwort2){
if ($_username == "") {
$fehler2 = 1;
$fehlermeldung2.=" <div width=\"410\" bgcolor=\"#ffcccc\">Du hast nicht alle Pflichtfelder ausgefüllt!</div>\n<br>\n<br>\n";
}
elseif ($_passwort == "") {
$fehler2 = 1;
$fehlermeldung2.=" <div width=\"410\" bgcolor=\"#ffcccc\">Du hast nicht alle Pflichtfelder ausgefüllt!</div>\n<br>\n<br>\n";
}
elseif ($_passwort2 == ""){
$fehler2 = 1;
$fehlermeldung2.=" <div width=\"410\" bgcolor=\"#ffcccc\">Du hast nicht alle Pflichtfelder ausgefüllt!</div>\n<br>\n<br>\n";
}
else $fehler2 = 0;
if(preg_match('/[^0-9a-zA-Z_?|]/i', $_REQUEST['_username'])) {
$fehler2 = 1;
$fehlerusername .= " <div width=\"410\" bgcolor=\"#ffcccc\">Falsche Eingabe: Nur Buchstaben, Zahlen, Unterstrich möglich !</div>\n<br>\n<br>\n";
}
if ($_passwort != $_passwort2) {
$fehler2 = 1;
$fehlerpasswort .= " <div width=\"410\" bgcolor=\"#ffcccc\">Falsche Eingabe ! Die beiden Passwörter stimmen nicht überein !</div>\n<br>\n<br>\n";
}
if ($fehler2 == 1){ return formular_ausgabe2($_username,$_passwort,$_passwort2);
}
if ($fehler2 == 0){ echo "lala";
}
} ?>
EDIT:
php-tags by wahsaga
Kommentar