In meinen Programm funktioniert folgendes nicht.
Es dient dazu ein Formular zu erzeugen mit 6 Eingabefelder.
Wenn die Felder falsch oder nicht ausgefüllt sind wird der Feldname
rot dargestellt.
Bei dem Feld Vorname wird aber keine Eingabe akzeptiert. Die Feld-
beschreibung bleibt rot und die Eingabe verschwindet nach der Enterein-
gabe.
Bei allen anderen Feldern funktioniert es so wie es soll.
Es erscheint auch keine Fehlermeldung.
Wo habe ich hier einen Fehler gemacht.
Das PHP-programm hängt hinten dran.
PS: Der Editor hat einige Einrückungen nicht übernommen!!
Vielleicht hat jemand eine Idee woran es liegen kann.
Willi
Es dient dazu ein Formular zu erzeugen mit 6 Eingabefelder.
Wenn die Felder falsch oder nicht ausgefüllt sind wird der Feldname
rot dargestellt.
Bei dem Feld Vorname wird aber keine Eingabe akzeptiert. Die Feld-
beschreibung bleibt rot und die Eingabe verschwindet nach der Enterein-
gabe.
Bei allen anderen Feldern funktioniert es so wie es soll.
Es erscheint auch keine Fehlermeldung.
Wo habe ich hier einen Fehler gemacht.
Das PHP-programm hängt hinten dran.
PS: Der Editor hat einige Einrückungen nicht übernommen!!
Vielleicht hat jemand eine Idee woran es liegen kann.
Willi
PHP-Code:
<html>
<head>
<title>Benutzer</title>
</head>
<body>
<?
include "mysql.inc";
// 1) VARIABLEN anlegen ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
$vorname_control=true;
$name_control=true;
$geburtstag_control=true;
$email_control=true;
$strasse_control=true;
$postleitzahl_control=true;
$total_control=true;
$vorname="";
$name="";
$geburtstag="";
$email="";
$strasse="";
$postleitzahl="";
// 2) Überprüfen ob Formulardaten empfangen werden ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// if(isset($name)){ // unsichere Methode --Daten können auch per GET übegeben werden
if($HTTP_POST_VARS['control'])
{
print "Daten empfangen<br>";
// 3) Übertragen der empfangenenen Daten in die lokalen Variablen
$vorname=trim($HTTP_POST_VARS['vorname']);
$name=trim($HTTP_POST_VARS['name']);
$geburtstag=trim($HTTP_POST_VARS['geburtstag']);
$email=trim($HTTP_POST_VARS['email']);
$strasse=trim($HTTP_POST_VARS['strasse']);
$postleitzahl=trim($HTTP_POST_VARS['postleitzahl']);
// 4) Überprüfen der empfangenenen Daten
if(!(strlen($vorname)>0))
{
$total_control=false;
$vorname_control=false;
}
if(!(strlen($name)>0))
{
$total_control=false;
$name_control=false;
}
if(!(preg_match("/^\d\d\.\d\d\.\d{4}$/",$geburtstag)))
{
$total_control=false;
$geburtstag_control=false;
}
// Email soll kein Pflichtfeld sein -->
// Nur wenn überhaupt eine E-mail angegeben wurde, diese überprüfen.
if(strlen($email)>0)
{
if(!(preg_match("/^[a-zA-Z\d_\-\.]+@[a-zA-Z\d_\-]+\.[a-zA-Z]{2,4}$/",$email)))
{
$total_control=false;
$email_control=false;
}
}
if(!(strlen($strasse)>0))
{
$total_control=false;
$strasse_control=false;
}
if(!(strlen($postleitzahl)>0))
{
$total_control=false;
$postleitzahl_control=false;
}
// 5) Reaktion auf Auswertung
// entweder: kein Fehler --> Daten in DB schreiben
if($total_control==true)
{
$connect=mysql_connect($host,$username,$password);
mysql_select_db('db_brasilien',$connect);
mysql_query("insert into t_frauen_aus_recife (vorname,name,geburtstag,email,strasse,postleitzahl) values ('$vorname','$name','$geburtstag','$email','$strasse','$postleitzahl')",$connect);
mysql_close();
// Bestätigungsmail versenden
print "Ihre Daten wurden entgegengenommen<br>";
exit;
}
// oder: --> Formular erneut anzeigen mit hervorgehobenen Fehlern
if($total_control==false)
{
print "Bitte korrigieren Sie die Rot markierten Felder<br>";
}
}
?>
<form action="<? echo $PHP_SELF; ?>" method="POST">
<input type="text" vorname="vorname" value="<? echo $vorname ?>">
<? if($vorname_control==true){echo "Vorname";}else{echo "<font color='red'>Vorname *</font>";} ?><br>
<input type="text" name="name" value="<? echo $name ?>">
<? if($name_control==true){echo "Name";}else{echo "<font color='red'>Name *</font>";} ?><br>
<input type="text" name="geburtstag" maxlength="10" value="<? echo $geburtstag ?>">
<? if($geburtstag_control==true){echo "Geburtstag";}else{echo "<font color='red'>Geburtstag *</font>";} ?> Format: (03.03.1900)<br>
<input type="text" name="email" value="<? echo $email ?>">
<? if($email_control==true){echo "Email";}else{echo "<font color='red'>Email *</font>";} ?> (Email ist keine Pflichteingabe)<br>
<input type="text" name="strasse" value="<? echo $strasse ?>">
<? if($strasse_control==true){echo "Strasse";}else{echo "<font color='red'>Strasse *</font>";} ?><br>
<input type="text" name="postleitzahl" value="<? echo $postleitzahl ?>">
<? if($postleitzahl_control==true){echo "Postleitzahl";}else{echo "<font color='red'>Postleitzahl *</font>";} ?><br>
<input type="hidden" name="control" value="data">
<input type="submit" value="abschicken">
</form>
<?
//print "<hr>";
//show_source(__FILE__);
?>
</body>
</html>
EDIT:
php-tags by Abraxax
Kommentar