PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Email auf ausgefüllte Felder überprüfen


subOptimal
17.06.2009, 16:56:22
Hallo,
wie Ihr ja schon seht, habe ich ein Problem mit php. Mein Freund hat für mich so ein Email Scipt geschrieben. Funktioniert auch alles problemlos. Jedoch überprüft er nicht, ob alle Felder ausgefüllt sind. Auch wenn man nicht ausfüllt, steht da: Ihre Email wurde versendet. Wurde sie auch, soll sie aber nicht. Könntet ihr mir dabei helfen. Bin ein totaler looser wenn es um html oder php geht, also bitte nicht so kompliziert schreiben.

Ach ja, bin keine Kommentare wie, musst du lernen, lese dir Tutorials durch usw.

Ich bedanke mich schonmal im vorraus.
MfG subOptimal

<?php ### Konfiguration ###

$strEmpfaenger = 'xxx@xxx.de';
$strFrom = $_POST["E-Mail"];
$strSubject = 'Kontaktformular';
$strReturnhtml = 'xxx';
$strDelimiter = ":\t";

### Ende Konfiguration ###

if($_POST)
{
$strMailtext = "";

while(list($strName,$value) = each($_POST))
{
if(is_array($value))
{
foreach($value as $value_array)
{
$strMailtext .= $strName.$strDelimiter.$value_array."\n";
}
}
else
{
$strMailtext .= $strName.$strDelimiter.$value."\n\n";
}
}

if(get_magic_quotes_gpc())
{
$strMailtext = stripslashes($strMailtext);
}

echo "Ihre Mail wurde erfolgreich versendet";

mail($strEmpfaenger, $strSubject, $strMailtext, "From: ".$strFrom)
or die("Die Mail konnte nicht versendet werden.");
header("Location: $strReturnhtml");
exit;
}

?>
<form action="<?php print $_SERVER['PHP_SELF']; ?>" method="post">
<table border="0" width="580">
<tbody><tr valign="top">
<td>Anrede:</td>
<td><input name="Anrede" value="Frau" type="radio">Frau
<input name="Anrede" value="Herr" type="radio">Herr
<input name="Anrede" value="Firma" type="radio">Firma</td></tr>
<tr valign="top"><td>Name:</td><td><input name="name" type="text"></td></tr>
<tr valign="top"><td>Straße:</td><td><input name="straße" type="text"></td></tr>
<tr valign="top"><td>PLZ + Ort:</td><td><input name="ort" type="text"></td></tr>
<tr valign="top"><td>E-Mail:</td><td><input name="email" type="text"></td></tr>
<tr valign="top"><td>Betreff:</td><td><input name="betreff" type="text"></td></tr>
</tbody></table>
<br>Ihre Nachricht<br>
<textarea name="nachricht" rows="3" cols="50"></textarea>
<br>
<br>
<input value="Senden" type="submit">
<input value="Zurücksetzen" type="reset">
<br>
</form>

vt1816
17.06.2009, 18:09:51
Hallo, willkommen im Forum hier!


[...]
Ach ja, bin keine Kommentare wie, musst du lernen, lese dir Tutorials durch usw.

Ich bedanke mich schonmal im vorraus.
MfG subOptimal


Wieso eigentlich nicht? Wie willst Du die Dinge verstehen die wir Dir versuche sollen zu erklären?

Was ist mit Deinem Freund? Warum kann er Dir nicht das Script anpassen?

subOptimal
17.06.2009, 18:50:05
Natürlich will ich das vestehen, ich lese ja auch im Internet jedoch brauch ich das so schnell wie möglich und kann nicht erst das lernen. Ist ja aber auch egal ... möchte hier in keiner diskussion enden.xD Mein Freund kann ich im moment leider nicht erreichen, deswegen frage ich ja die Profis.

urvater
17.06.2009, 22:37:01
Nun eigentlich ist dein Problem recht einfach zu lösen. Das Script ansich funktioniert ja also müsste man nur noch eine Abfrage auf die übermittelten POST-Daten setzen.
Dein Freund oder wer auch immer war allerdings zu faul diese von Anfang an abzufragen.
Wenn es ein guter Freund von dir ist würde ich ihn bitten sich mit mir zusammen einmal ans Formular zu setzen und das gesamte Script einfach überarbeiten.
Als erstes solltest du festlegen, was überhaupt als Pflichtfeld gelten soll und was mit leeren Nicht-Pflichtfeldern passieren soll, wenn sie nicht gefüllt sind.

vt1816 weißt dich eigentlich schon auf das Wichtigste hin. Hier wird dir niemand dein Script so anpassen, wie du es gerne hättest. Um dir helfen zu können fehlt eigentlich jeglicher Hinweis darauf, daß hier überhaupt versucht wurde eine Fehlerabfrage vorzunehmen.
Das einzige, was das Script kann ist, sofern vorhanden und nicht leer, die Variablen an die richtige Stelle zu setzen und eine Email zu verschicken. Ob ein Absender angegeben wurde oder nicht.

Was mir auf die Schnelle als Antwort einfallen würde wäre ein Hinweis aufs Praxishandbuch, Code Snippes und dem Kochbuch. Alles zusammen sauber gelesen würde dich sehr weit bringen. Zusätzlich würde ich dir noch einen Hinweis auf POST Daten bringen. All dies liegt aber nicht in deinem Interesse, weshalb ich es nicht mache.