• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Konaktformular problem:

Status
Für weitere Antworten geschlossen.

wolf360

Neues Mitglied
Hey, ich hab mir mal ein Kontaktformular erstellt, mit überprüfung ob was eingetragn wurde erstellt, aber leider zeigt der mir komsicher weiße immer an das nichts eingetragn wurde....

hier mal der code:

PHP:
<?php

if($_POST['vn'] == "")
    {
    echo "Bitte Vorname angeben" ;
    }
    else{
if($_POST['nm'] == "")
    {
    echo "Bitte Nachname angeben";
    }
    else{
if($_POST['strasse']  == "")
    {
    echo "Bitte Stra&szlig;e angeben";
    }
    else{
if($_POST['nr'] == "")
    {
    echo "Bitte Hausnummer angeben";
    }
else{
mail("[email protected]", $_POST['betreff'],
"Vorname: ".$_POST['vorn']."\n".
"Nachname: ".$_POST['nm']."\n".
"Straße: ".$_POST['strasse']." "."Hausnummer:".$_POST['nr']."\n".
"Test ".$_POST['lol']);
}
}
}
}
 ?>
 
Zuletzt bearbeitet von einem Moderator:
Hallo,

poste mal den Code für dein Formular. Spontan aufgefallen ist mir nämlich, dass du einmal vn und einmal vorn für das Feld vom Vorname verwendest.


N43
 
vorallem könnte man mal die funktionsklammern einrücken, das sieht ja scheußlich aus...

Nils aka XraYSoLo
 
Bessere Variante:
PHP:
if(empty($_POST['textfeld']))
{
 die("Bitte füllen Sie das Feld xy aus");
}
empty() kommt vom Englischen - bedeutet leer.

Also: Wenn Textfeld leer ist, dann meldung ausgeben.
Der Befeh die() gibt den Befehl in den Klammern noch aus, und beendet dann das Script.


MfG, matibaski
 
empty springt auf variablen von forumlaren nicht an.
Denn empty gibt nur true zurück wenn eine Variable keinen Wert hat.
Wenn man das Formularfeld leer lässt hat sie aber einen Wert, nämlich einen leeren String
PHP:
$foo = "";
 
Bei mir funktioniert das mit empty() aber einwandfrei. Wenn er nichts in ein Feld geschrieben hat, dann kommt die Meldung raus ;)

Nunja... -.-



MfG, matibaski
 
okey, hab den fehler gefundn und des script etz etwas anders gmacht hier mal das fertige sende.php, kann ich das so lassen, oder was würdet ihr ändern:

PHP:
<?php

if(!$_POST['vn'] ||
   !$_POST['nm'] ||
   !$_POST['strasse'] ||
   !$_POST['nr'] ||
   !$_POST['ort'] ||
   !$_POST['plz'] ||
   !$_POST['p'] ||
   !$_POST['mw']||
   !$_POST['mail'])
{
 echo "Bitte alle Felder ausfüllen";
 }
else{
if(!$_POST['agb'])
{
   echo "Sie haben nicht die AGB´s akzeptiert";
   }
else{
mail("[email protected]", $_POST['betreff'],
"Vorname: ".$_POST['vn']."\n".
"Nachname: ".$_POST['nm']."\n".
"Straße: ".$_POST['strasse']." "."Hausnummer:".$_POST['nr']."\n".
"Geb.Datum ".$_POST['tag']." ".$_POST['monat']." ".$_POST['jahr']."\n".
"Ort: ".$_POST['ort']." ".$_POST['plz']."\n".
"Mehr Personen: ".$_POST['p']."\n".
"Name der Personen: ".$_POST['ndp']."\n".
"Musikwunsch: ".$_POST['mw']."\n".
"E-Mail: ".$_POST['mail']."\n".
"AGB´s: ".$_POST['agb']);
}
}
 ?>
 
Zuletzt bearbeitet von einem Moderator:
ich kappier des mit isset nicht... habs mal probier so:

HTML:
<form method="post">
<input name="vn" typ="text"></input>
</form>

<?php
if (isset($_POST['vn']))
{
echo "lol";
}
else{
  echo "test";
}

?>

aber der gibt immer lolaus?
und mit ausrufezeichen gibt der immer test aus ?!
 
Zuletzt bearbeitet:
ich sag doch das isset darauf nicht ansprechen - aber hier glaubt man ja keinen erfahrungswerten...

Code:
isset(null): false
isset(""): true
empty(null): true
empty(""): true
 
Zuletzt bearbeitet:
ich sag doch das isset darauf nicht ansprechen - aber hier glaubt man ja keinen erfahrungswerten...
Also wenn ich nichts übersehen habe hast du bisher nur von empty gesprochen ;) Aber mit isset haste recht.

@Wolf360: Hab mir das nochma genauer durchgelesen, könntest noch empty statt ! nehmen, aber so wie ich das sehe machen die ziemlich das gleiche.


N43
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben