Tetsuo
Erfahrenes Mitglied
Kann mir jemand sagen was an diesem Code falsch is?:
Es zeigt mir folgende meldung :
Parse error: parse error, expecting `','' or `';'' in c:\apache\htdocs\homepage\test\formmailer.php on line 6
Bin für jede hilfe dankbar !
Oli
PHP:
<?
if ($aktion=="check"){ #beim absenden des Formulars wird die variable $aktion gesetzt damit das script weiss das es nicht der erste Aufruf war...
if(eingabe_check($name,$mail,$betreff,$text)==1){ # eingabe_check überprüft die Eingaben, sie gibt bei Korrekten angaben 1, ansonsten eine Fehlermeldung zurück
echo "Name: ".$name."<br>";
echo "Betreff: ".$betreff."<br>";
echo "Email: ".$mail."<br>";
echo "Text: ".nl2br($text)."<br>";
@ mail("o.sebel@freesurf.ch", $betreff, $text ,"From: $mail");
}
else{
echo eingabe_check($name,$mail,$betreff,$text); # Die durch eingabe_check Entdeckten Fehler werden ausgegeben
formular_ausgabe($name,$mail,$betreff,$text); # Und das Formular wird mit den bereits erfolgten eingaben angezeigt
}
}
else{
formular_ausgabe($name,$mail,$betreff,$text); # ist $aktion nicht gesetzt wird einfach das Formular angezeigt
}
function formular_ausgabe($name,$mail,$betreff,$text){ # Die funktion gibt nur das Formular aus, entweder mit eingaben die schon gemacht wurden,
global $PHP_SELF; # oder (beim ersten aufruf, wo die die Variablen noch lehr sind) ohne.
echo "<form name=\"formular\" action=\"".$PHP_SELF."?aktion=check\" method=post>
<table><tr><td colspan=2 align=left><b>Name:</b></td></tr>
<tr><td colspan=2><input name=\"name\" type=text size=40 maxlength=40 value=\"".$name."\"></td></tr>
<tr><td colspan=2 align=left><b>E-mail:</b></td></tr>
<tr><td colspan=2><input name=\"mail\" type=text size=40 maxlength=40 value=\"".$mail."\"></td></tr>
<tr><td colspan=2 align=left><b>Betreff:</b></td></tr>
<tr><td colspan=2><input name=\"betreff\" type=text size=40 maxlength=40 value=\"".$betreff."\"></td></tr>
<tr><td align=left><b>Text:</b></td></tr>
<tr><td colspan=2><textarea name=\"text\" rows=10 cols=115 wrap=virtual>".$text."</textarea></td></tr>
<tr><td><input type=reset value=\"Löschen\"></td>
<td align=right>
<input type=submit name=\"schreiben\" align=right value=\"Senden\" onClick=\"return test()\"></td></tr></table>";
}
function eingabe_check($name,$mail,$text){
if ($name == "") $fehler = $fehler." ihren Namen"; # Alle eingaben werden darauf geprüft ob sie überhaupt gemacht wurden
if ($text == "") $fehler = $fehler." ihen Text";
if ($betreff == "") $fehler = $fehler." geben Sie einen Betreff ein"; # wurden sie nicht gemacht wird die Variable $fehler gesetzt oder eine weitere
if ($mail == ""){ # Fehlermeldung angehängt.
$fehler = $fehler." ihre Emailadresse";
}
else { # Der Email adresse schenken wir besondere aufmerksamkeit, wir wollen uns ja nicht ganz so einfach verarschen lassen...
if(strstr($mail,"@") && strstr($mail,".")){ #deshalb überprüfen wir ob ein @ und wenigstens ein . darin enthalten sind.
} # das heisst zwar noch immer nicht das die Adresse Existiert aber sie ist wenigstens formal richtig
else {
$fehler = $fehler." echte Mailadresse";
}
}
if ($fehler =="") return 1; # gab es keinen Fehler bei der überpüfung geben wir 1 zurück
else{ return "Bitte geben sie noch<b>".$fehler."</b> ein.<br>";} #ansonsten die Fehlermeldung
}
?>
Es zeigt mir folgende meldung :
Parse error: parse error, expecting `','' or `';'' in c:\apache\htdocs\homepage\test\formmailer.php on line 6
Bin für jede hilfe dankbar !
Oli