validierung im php-formular?!?

Seraphim

Admiral Special
Mitglied seit
11.11.2001
Beiträge
1.986
Renomée
0
Standort
Capitol City
warum haben wir eigentlich kein forum für programmierer? jetzt hoffe ich mal, dass sich das hier mal jemand anschaut...

ich hab' auf meiner webseite ein kontaktformular eingebaut. das ganze läuft über ein php-script und ist angenehm handlich und klein. nur leider habe ich bisher noch keine möglichkeit gefunden, dass das senden des formulars bei leeren feldern verhindert wird. ich benötige also eine validierung für die einzelnen felder. kann mir da mal jemand unter die arme greifen?

das php-script sieht so aus:


quote:
--------------------------------------------------------------------------------
<?php
$admin = "ich@meinedomain.net";
$subject = "hARTboiled";
$message = "Nachricht fuer $admin von $email:\n\n";

while(list($name,$value)=each($HTTP_POST_VARS)) {
$message.="$name: $value\n\n";
}

mail($admin,$subject,$message,"Wrom: UFPEGAUTF

?>
--------------------------------------------------------------------------------


die form im html-code:

quote:
--------------------------------------------------------------------------------

To contact us, please fill in the form below!
<form method="post" action="formmailer.php">
Name:<br>
<input type="text" name="name">
<br>
E-Mail:<br />
<input type="text" name="email">
<br>
Message:<br>
<textarea name="message" cols="38" rows="7"></textarea>
<br>
<br>
<input type="submit" name="senden" value="Send">
</form>
--------------------------------------------------------------------------------



wer's mal testen will, klickt hier und dann unter 'about'. aber bitte nicht x-mal testen und leere mails schicken...
 
das machst du mit if

if $email == "" {
das was gemacht werden soll wenn nichts eingetragen ist
zB echo("fülle alle felder aus");
}
else
{
das was gemacht wird wenn alles ausgefüllt ist
}

alles verstanden ?

NEO

edit: hmm falsches forum würde ich mal sagen
 
Zuletzt bearbeitet:
in welches forum soll ich das denn sonst schreiben?
 
Original geschrieben von [P3D] NE0
das machst du mit if

if $email == "" {
das was gemacht werden soll wenn nichts eingetragen ist
zB echo("fülle alle felder aus");
}
else
{
das was gemacht wird wenn alles ausgefüllt ist
}

alles verstanden ?

NEO

edit: hmm falsches forum würde ich mal sagen
ok, bin noch ein blutiger anfänger in sachen php...

dann soll das ganze also so aussehen:
<?php
$admin = "ich@meinedomain.net";
$subject = "hARTboiled";
$message = "Nachricht fuer $admin von $email:\n\n";

while(list($name,$value)=each($HTTP_POST_VARS)) {
$message.="$name: $value\n\n";
}

mail($admin,$subject,$message,"Wrom: UFPEGAUTF

//Aenderung check

if ($email=""){

echo "<p>$email</p>";}


else{

echo "<p>Please enter your address!</p>";

}


echo "<!--email checked -->\n";

?>

???
 
Original geschrieben von [P3D] NE0
software forum würde ich sagen...

und geht es mit dem if ?

NEO
1. ist ja eher programmierung, nicht fertige software... *noahnung*

2. tja, schau doch mal. steh' momentan noch etwas auf dem schlauch... :(
 
Original geschrieben von Seraphim
<?php
$admin = "ich@meinedomain.net";
$subject = "hARTboiled";
$message = "Nachricht fuer $admin von $email:\n\n";

while(list($name,$value)=each($HTTP_POST_VARS)) {
$message.="$name: $value\n\n";
}

mail($admin,$subject,$message,"Wrom: UFPEGAUTF

//Aenderung check

if ($email=""){

echo "<p>$email</p>";}


else{

echo "<p>Please enter your address!</p>";

}


echo "<!--email checked -->\n";

?>

ne so geht das nicht...also in deinem script wird mit der zeile: mail($admin,$subject,$message,"Wrom: UFPEGAUTF

die mail verschickt, das heisst schonmal das das nur gemacht wird wenn halt die felder alle ausgefüllt sind....

also so:

if $email == ""{
//nichts machen, nur sagen das er das ausfüllen soll
echo("füll die felder aus");
}
else
// das macht er wenn die felder ausgefüllt werden, also wird abgeschickt
{
mail($admin,$subject,$message,"Wrom: UFPEGAUTF
//dann noch ne bestätigung für den user
echo("mail abgeschickt");
}

fragen ?

NEO
 
also praktisch so:

<?php
$admin = "ich@meinedomain.net";
$subject = "hARTboiled";
$message = "Nachricht fuer $admin von $email:\n\n";

while(list($name,$value)=each($HTTP_POST_VARS)) {
$message.="$name: $value\n\n";
}

mail($admin,$subject,$message,"Wrom: UFPEGAUTF

if $email == ""{


echo ("Please enter your address");

}

else


{
mail($admin,$subject,$message,"Wrom: UFPEGAUTF

echo("Request has been send");
}

?>




hab' ich's jetzt endlich gepackt?
 
ne hehe ;D

<?php
$admin = "ich@meinedomain.net";
$subject = "hARTboiled";
$message = "Nachricht fuer $admin von $email:\n\n";

while(list($name,$value)=each($HTTP_POST_VARS)) {
$message.="$name: $value\n\n";
}


if $email == ""{


echo ("Please enter your address");

}

else


{
mail($admin,$subject,$message,"Wrom: UFPEGAUTF

echo("Request has been send");
}

?>

so müsste das klappen

NEO
 
na fast! ;D

jetzt haben wir in line 30 noch einen fehler! meldung:
Parse error: parse error, expecting `'('' in /homepages/16/d29446597/htdocs/About/formmailer.php on line 30

line 30 ist dann jene:
<?php
$admin = "ich@meinedomain.net";
$subject = "hARTboiled";
$message = "Nachricht fuer $admin von $email:\n\n";

while(list($name,$value)=each($HTTP_POST_VARS)) {
$message.="$name: $value\n\n";
}


if $email == ""{ <----------!fehler!!


echo ("Please enter your address");

}

else


{
mail($admin,$subject,$message,"Wrom: UFPEGAUTF

echo("Request has been send");
}

?>
aber was ist daran falsch?
 
Hi!

Anstatt

if ($email == "")
{
}

kannste auch

if (!$email)
{
}

schreiben. ;D
Nur als kleine Randbemerkung.

keep rollin'
JungleJunky
 
danke!


...aber jetzt haben wir einen fehler on line 44

<?php
$admin = "mike@hartboiled.net";
$subject = "hARTboiled";
$message = "Nachricht fuer $admin von $email:\n\n";

while(list($name,$value)=each($HTTP_POST_VARS)) {
$message.="$name: $value\n\n";
}


if ($email == ""){


echo ("Please enter your address");

}

else


{

mail($admin,$subject,$message,"Wrom: UFPEGAUTF

echo ("Request has been send"); <---fehler

}

?>



:-/ :-X
 
Original geschrieben von Seraphim

{

mail($admin,$subject,$message,"Wrom: UFPEGAUTF

echo ("Request has been send"); <---fehler

}

?>

am echo liegt es nicht...es liegt an deiner funktion, die die mail verschickt...ich kenn die zwar nicht aber ich denke da kommt noch am ende ne )
also so:
mail($admin,$subject,$message,"Wrom: UFPEGAUTF);

denke ich jedenfalls...den so ist die nie im leben komplett

NEO
 
aaaaaaaaah! danke. jetzt haut's hin! *massa*
 
Zurück
Oben Unten