Connect failed: Connection timed out

[GastForen Programmierung/Entwicklung PHP und MySQL Required ? Erforderliche Felder werden nicht erkannt

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste
Themen
Beiträge
Moderatoren
Letzter Beitrag

Required ? Erforderliche Felder werden nicht erkannt

kultdialog
Beiträge gesamt: 36

26. Nov 2007, 15:14
Beitrag # 1 von 4
Bewertung:
(1939 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo HDS-Forum,

ich habe ein kleines Problem und hoffe dass Ihr mir helfen könnt.
Ich habe auf einem Internteauftritt ein Formular erstellt und als "Formaction" das vom Provider (1+1) mitgelieferte Script "Formmail.php" als Pfad bzw. Aktion definiert.

Dieses liest die Formulardaten auch korrekt aus, allerdings erkennt es nicht, wenn erforderliche (gekennzeichnete) Felder unausgefüllt bleiben. Ich habe dieses im Formular selbst mit:

------------------------------------------------------------
<INPUT type="hidden" name="required" value="NAME DER FELDER">
------------------------------------------------------------

markiert.

Mache ich einen Denkfehler und muss diese "mandatorischen" Angaben woanders definieren ?

Da ich kein Profi bin, würde mich ein Feedback echt weiterbringen. Im Voraus schon mal vielen Dank.

Das .php-Skript beinhaltet folgendes:
------------------------------------------------------------
<?php
$recipient = "eisinger-reisen@t-online.de";
$fmtResponse= implode("", file("response.htt"));
$fmtMail= implode("", file("mail.htt"));
foreach($_POST as $key=> $val) {
$fmtResponse= str_replace("<$key>", $val, $fmtResponse);
$fmtMail= str_replace("<$key>", $val, $fmtMail);
}
if ($_POST["access"] == "irregeheim") {
mail($recipient, $_POST["subject"], $fmtMail);
}
echo $fmtResponse;
?>
------------------------------------------------------------
Vielen Dank und viele Grüße
Matthias
X

Required ? Erforderliche Felder werden nicht erkannt

citystrolch
Beiträge gesamt: 10

26. Nov 2007, 15:20
Beitrag # 2 von 4
Beitrag ID: #324320
Bewertung:
(1936 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Matthias,

Möchtest du überprüfen, ob das feld "required" leer ist, oder einen bestimmten Wert hat?
Dies kannst du schon, in dem Script, das du gepostet hast, wird das aber nirgends gemacht.
Und nur, weil du das feld required nennst, wird es noch nicht überprüft (name="" ist sozusagen nur der Name, den die Variable im POST-Array hat...)

Oder hab ich dich nicht richtig verstanden?


als Antwort auf: [#324319]

Required ? Erforderliche Felder werden nicht erkannt

kultdialog
Beiträge gesamt: 36

26. Nov 2007, 15:46
Beitrag # 3 von 4
Beitrag ID: #324325
Bewertung:
(1928 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Halloechen,

in erster Linie soll überprüft werden, DASS die Felder ausgefüllt sind. Was dann drin steht, das steht natürlich auf einem anderen Blatt . . .

Muss ich die "required" Angaben in der formmail.php angeben oder nur bzw. zusätzlich im Formuar-Head ? Du hast das Problem schon richtig verstanden, ich weiß nur nicht, wo ich die Angaben setzen soll und wie sie von der Syntax her korrekt lauten.

:-(


als Antwort auf: [#324320]

Required ? Erforderliche Felder werden nicht erkannt

citystrolch
Beiträge gesamt: 10

26. Nov 2007, 16:38
Beitrag # 4 von 4
Beitrag ID: #324335
Bewertung:
(1912 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Also, angenommen, Du möchtest erreichen, dass das script, das die Mails verschickt, nur ausgeführt wird, wenn das Feld "required" nicht leer ist (geht auch für jedes andere Feld), dann brauchst Du eine Abfrage, die das testet.
Die könnte zum Beispiel so aussehen:

Code
# $_POST ist ein Array mit allen Daten, die aus dem Formular kommen, auch dein hidden field mit dem Namen "required": 
if(empty($_POST['required'])){
# hier kannst du dem Benutzer mitteilen, dass das Feld nicht leer sein darf, oder was auch immer:
echo 'feld darf nicht leer sein';
# ausserdem solltest du hier das formular noch einmal anbieten, damit der Benutzer das Feld füllen kann
}else{
# hier kommt nun dein Script hin, das das mail verschickt
}


Allerdings eins versteh ich nicht: wieso machst du ein hidden field? Wenn es leer ist, kann der Benutzer es ja gar nicht füllen, weil er es nicht sieht und somit keinen Einfluss darauf hat...
Deshalb vielleicht lieber das Feld abfragen, in dem der Name (oder was auch immer required ist) stehen soll. Das Prinzip der Abfrage bleibt aber das gleiche, statt $_POST['required'] fragst du einfach nach $_POST['name'] oder wie es dann eben heisst...


als Antwort auf: [#324325]
X