Formular - Problem

xXRoggieXx

Mitglied
Hallöle zusammen,

ich hätte bezüglich eines Formulars eine Frage bzw. einen Kontrollblick. Das Formular an sich ist schon ca. ein Jahr im Dienst und funktionierte bis dato auch ohne jegliche Probleme. Seltsamer Weise ist dies nun nicht mehr der Fall und ich sehe keinen wirklichen Grund, da am Quelltext nichts, geändert wurde. Eventuell könnte mir jemand einen Tipp geben, woran es liegen konnte ?

Code:
</div>
	<table id="main" border="0" cellpadding="0" cellspacing="2" style="border-collapse: collapse" bordercolor="#111111" width="350">
	<form action="kontaktformular-auswerten.php" method="post" enctype="multipart/form-data">
	<tr>
			<td width="350" colspan="2">
			Bitte fülle, soweit möglich, alle angegebenen Felder aus.<br>
			Außerdem setze einen Haken in das Kästchen, um die Regeln der FWA zu akzeptieren.<br>
			<i>Natürlich sind Daten wie Größe und Gewicht, für eine Tag Team und/oder Stableanmeldung nicht relevant!</i><br><br></td>
	</tr>
	<tr>
			<td width="90">
				Name:</td>
			<td width="260">
	<input id="textarena" name="Name" size="20"></td>
	</tr>
	<tr>
			<td width="90">
				Herkunft:</td>
			<td width="260">
	<input id="textarena" name="Herkunft" size="20"></td>
	</tr>
	<tr>
			<td width="90">
				Größe:</td>
			<td width="260">
	<input id="textarena" name="Groesse" size="20" value="(im Meter)"></td>
	</tr>
	<tr>
			<td width="90">
				Gewicht:</td>
			<td width="260">
	<input id="textarena" name="Gewicht" size="20" value="(in Kilogramm)"></td>
	</tr>
	<tr>
			<td width="90">
				Finisher:</td>
			<td width="260">
	<input id="textarena" name="Finisher" size="20"></td>
	</tr>
	<tr>
			<td width="90">
				Signatur Moves:</td>
			<td width="260">
	<input id="textarena" name="SigMoves" size="20"></td>
	</tr>
	<tr>
			<td width="90">
				Quote/Spruch:</td>
			<td width="260">
	<input id="textarena" name="Quote" size="20"></td>
	</tr>
	<tr>
			<td width="90">
				Theme:</td>
			<td width="260">
	<input id="textarena" name="Theme" size="20"></td>
	</tr>
	<tr>
			<td width="90">
				Email:</td>
			<td width="260">
	<input id="textarena" name="Email" size="20"></td>
	</tr>
	<tr>
			<td width="90">
				Gesinnung:</td>
			<td width="260">
	<select id="textarena" size="1" name="Gesinnung">
	<option selected>Auswahl</option>
	<option>Face</option>
	<option>Neutral</option>
	<option>Heel</option>
	</select></td>
	</tr>
	<tr>
			<td width="90">
				Anmeldungsart:</td>
			<td width="260">
	<select id="textarena" size="1" name="Anmeldungsart">
	<option selected>Auswahl</option>
	<option>Single Wrestler</option>
	<option>Manager</option>
	<option>Tag Team</option>
	<option>Stable</option>
	</select></td>
	</tr>
	<tr>
			<td valign="top" width="90">
				Beschreibung:</td>
			<td width="260">
	<textarea id="textarena2" cols="37" name="Beschreibung" rows="13"></textarea></td>
	</tr>
	<tr>
			<td width="90">
				Regeln: <b><a target="_blank" href="http://www.harrypotter-live.de/fwav2/rulz.html">(!)</a></b></td>
			<td width="260">
	<input id="textarena" type="checkbox" name="Regeln" value="ON"></td>
	</tr>
	<tr>
	  <td width="350" colspan="2">
	  <input id="textarena" name="Send" type="submit" value="Abschicken">
	  <input id="textarena" name="Reset" type="reset" value="Löschen">
	<tr>
			<td width="350" colspan="2">
			<br><b>Hinweis!</b><br>
			Die Beschreibung ist keine Biographie, sondern soll hier viel mehr das Verhalten deines Charakters beschrieben werden.<br>
			Unter Biographie verstehen wir soviel wie, den Werdegang und/oder die persönlichen Beweggrunde und Dinge die<br>
			deinen Superstar dazu bewegt haben, wie er in die FWA kam.<br>
			</td>
	</tr>
	</td></tr></form></table>
</body>
</html>

Und hier die Auswertung:
Code:
<?php

$Empfaenger = "officefwa@arcor.de";

if($_REQUEST['Send'])
{
   if(empty($_REQUEST['Name']) || empty($_REQUEST['Email']) || empty($_REQUEST['Regeln']))
   {
      echo"Bitte gehen Sie <a href=kontaktformular.php>zurück</a> und füllen Sie alle Felder aus... (Haken nicht vergessen )";
   }
   else
   {
      $Mailnachricht = "!Neue Anmeldung!\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 = "Anmeldung: ";
      $Mailbetreff .= $_REQUEST['Name'];
      mail($Empfaenger, $Mailbetreff, $Mailnachricht, "From: ".$_REQUEST['Email']);
      echo"Vielen Dank für deine Anmeldung! Registriere dich nun bitte im Board/Forum der FWA.";
   }
}
else
{
   echo"Ein Fehler ist aufgetreten. Bitte gehen Sie auf diese <a href=%22kontaktformular.php/%22>Seite</a>.";
}

?>

Ich hoffe mir kann jemand weiterhelfen!?

*mfg* Roggie
 
Hi,

ich sags mal so: $_REQUEST sollte man eigentlich nicht benutzen, weil du keine Kontrolle hast, ob die Daten per POST oder GET reinfliegen.

Was genau funktioniert denn an deinem Formular nicht?
 
Also wie gesagt, bis vor kurzem ging es ohne Probleme, so wie es ist. Nun wird die Prüfung auch vollzogen und die Mittleiung, dass die Nachricht abgeschickt wurde, folgt auch. Anschließend ist jedoch keine Nachricht im Postfach zu finden. Bin etwas ratlos wieso es nun so ist, da es wie gesagt vorher ja auch ohne Problem funktionierte.

Ich bin mir nicht sicher, aber das Forumlar hab ich glaub ich sogar von Tutorials.de.
 
Du musst versuchen das Problem einzugrenzen. Hast du schonmal versucht einfach eine E-Mail mittels dem mail befehl zu verschicken?

mail($Empfaenger, $Mailbetreff, $Mailnachricht, "From: ".$_REQUEST['Email']);

Bist du dir sicher, dass die E-Mail nicht z.B. von irgendeinem Anti Spam Filter verschluckt wird?
 
Ich denke nicht! Einmal wird eine Nachricht an Arcor und bei einem anderen Formular wird es an Freemail versendet und im Spamordner ist nichts zu finden. Sonst wurde es ja auch nicht in dem Spamordner gepackt.
Server/ MySQL-bedingt könnte es nicht sein oder ?

Hier mal das andere Formular, welches etwas kleiner ist. Grundlegend ist es aber genau so wie das vorherige und bei diesem habe ich vor gut einem Monat noch eine Nachricht erhalten. Funktionieren tut dieses nun aber auch nicht mehr...

Formular:
Code:
	<div style="position: absolute; width: 303px; height: 305px; z-index: 3; left: 21px; top: 152px" id="Formular">
			
			<form action="kontaktformular-auswerten.php" method="post" enctype="multipart/form-data">
			<input id="textarena" name="Name" size="20" value="Name"><br>
			<input id="textarena" name="Betreff" size="20" value="Betreff"><br>
			<input id="textarena" name="Email" size="20" value="Emailadresse"><br>
			<textarea id="textarena2" cols="37" name="Beschreibung" rows="13">Deine Nachricht...</textarea><br>
			<input id="textarena" name="Send" type="submit" value="Abschicken">
	 		<input id="textarena" name="Reset" type="reset" value="Löschen">
	 		</form>
	</div>

und Auswertung:
Code:
<?php

$Empfaenger = "xxroggiexx@web.de";

if($_REQUEST['Send'])
{
   if(empty($_REQUEST['Name']) || empty($_REQUEST['Email']) || empty($_REQUEST['Betreff']))
   {
      echo"Bitte gehen Sie <a href=kontaktformular.php>zurück</a> und füllen Sie alle Felder aus...";
   }
   else
   {
      $Mailnachricht = "!Nachricht!\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 = "R-Art-Nachricht: ";
      $Mailbetreff .= $_REQUEST['Name'];
      mail($Empfaenger, $Mailbetreff, $Mailnachricht, "From: ".$_REQUEST['Email']);
      echo"Vielen Dank für deine Nachricht!";
   }
}
else
{
   echo"Ein Fehler ist aufgetreten. Bitte gehen Sie auf diese <a href=%22kontaktformular.php/%22>Seite</a>.";
}

?>
 
Hallo,

hast du mal versucht Testausgaben zu machen von den übergebenen Parametern?
Also einfach mal per 'echo' die Parameter Vars die du der mail() übergibst ausgeben und überprüfen.
Dann evtl. mal die mail() per if() checken obs auch versandt wird, falls der Server mal die Mail nicht verschicken kann. Ansonsten wird ja immer immer "Danke für die Nachricht" angezeigt.
 
Ich war mal bei einem Hoster der SMTP (Simple Mail Transfer Protocol) nicht unterstützt hat.
Da haben meine Scripts keine Fehlermeldungen angezeigt, obwohl eine E-mail gar nicht hätte verschickt werden können.
Hast du vielleicht deinen Webhoster gewechselt oder das Script offline getestet?
Auf localhost funktionert das ja sowieso nicht.
 
Nein, weder das Eine noch das Andere. Der Space gehört einem Freund von mir und dem hab ich jetzt geraten, dass er mal den Anbieter anschreiben sollte.
Das Formular an sich ist meiner Meinung nach korekt, da es ja vor gut einem Monat ja noch ohne jegliche Probleme funktionierte.
Mal sehn! Auf jedenfall danke für de schnellen Antworten
 
Zurück