Kontaktormular funktioniert nicht

cym

cym

Aktives Mitglied
Thread Starter
Dabei seit
03.05.2004
Beiträge
1.363
Reaktionspunkte
9
Hallo Macfreunde!

Da ich von PHP 0-Ahnung habe, benutzte ich dieses Kontaktformular.
Dann habe ich es ein wenig abgeändert:

Wenn ich das ganze auf dem Server teste und alle Felder ausfülle, kommt trotzdem die Meldung "Bitte gehen Sie zurück und füllen Sie alle Felder aus!" Was funktioniert da nicht? :confused:

HTML:
<form action="scripts/formauswertung.php" method="post" >
Vor- und Nachname 
<input name="Name" size="50" type="text" class="inputbox" tabindex="5">

e-Mail-Adresse 
<input name="Email" size="50" type="text" class="inputbox">

Betreff 
<select name="Betreff" size="1" class="inputbox" tabindex="0">
<option>Allgemeine Anfrage</option>
<option>Anfrage Audio</option>
<option>Anfrage Video</option>
<option>Anfrage Foto</option>
<option>Anfrage Diverses</option>
<option>Kritik</option>
<option>anderer</option>
</select>

Mitteilung
<textarea cols="48" name="Mitteilung" rows="10" class="inputbox"></textarea>

Wie beurteilen Sie unsere Webseite?
<input name="Antwort" type="radio" value="gut" class="inputbox"> Gut
<input name="Antwort" type="radio" value="mittel" class="inputbox"> Mittel
<input name="Antwort" type="radio" value="schlecht" class="inputbox"> Schlecht

<input name="Send" type="submit" value="Abschicken" class="inputbox"><input name="Reset" type="reset" value="Zur&uuml;cksetzen" class="inputbox">

PHP:
<?php

$Empfaenger = "test@test.test";

if($_REQUEST['Send'])
{
   if(empty($_REQUEST['Name']) || empty($_REQUEST['Email']) || empty($_REQUEST['Nachricht']))
   {
	  echo"Bitte gehen Sie <a href=\"javascript:history.back();\">zurück</a> und füllen Sie alle Felder aus!";
   }
   else
   {
	  $Mailnachricht = "Sie haben folgenden Nachricht erhalten: \n\n";
	  while(list($Formularfeld, $Wert)=each($_REQUEST))
	  {
		 if($Formularfeld!="Send")
		 {
			$Mailnachricht .= $Formularfeld.": ".$Wert."\n";
		 }
	  }
	  $Mailnachricht .= "\nDatum/Zeit: ";
	  $Mailnachricht .= date("d.m.Y H:i:s");
	  $Mailbetreff = "Kontakt: ";
	  $Mailbetreff .= $_REQUEST['Betreff'];
	  mail($Empfaenger, $Mailbetreff, $Mailnachricht, "From: ".$_REQUEST['Email']);
	  echo"Vielen Dank für Ihre eMail!";
   }
}
else
{
   echo"Ein Fehler ist aufgetreten. Bitte gehen Sie auf diese <a href=\"kontaktformular.php\">Seite</a>.";
}

?>
 
Du prüfst im PHP-Skript, ob das Formular den Wert "Nachricht" übermittelt. Falls nicht, schickst Du den Benutzer zurück. Allerdings nennst Du das Eingabefeld "Mitteilung" und nicht "Nachricht". So fehlt aus Sicht des Skriptes etwas;)

Wenn Du wissen willst, was Dein Formular übertragen hat, hänge folgendes an den Quelltext kurz vor </body> unten dran:

Code:
<? echo "<pre>\n", print_r ($_REQUEST), "</pre>\n"; ?>

Viel Erfolg!
 
Hilarious schrieb:
Du prüfst im PHP-Skript, ob das Formular den Wert "Nachricht" übermittelt. Falls nicht, schickst Du den Benutzer zurück. Allerdings nennst Du das Eingabefeld "Mitteilung" und nicht "Nachricht". So fehlt aus Sicht des Skriptes etwas;) [...]
Viel Erfolg!

Danke! Ja, das Textfeld musste "Nachricht" heissen. Nun funktionierts :)

Tataaa: :D
blumenstrauss.gif
 
Zuletzt bearbeitet:
Zurück
Oben Unten