Supportnet Computer
Planet of Tech

Supportnet / Forum / Skripte(PHP,ASP,Perl...)

Formmailer





Frage

Hallo, ich bin grade dabei eine HP zu machen. Ich hänge seit 2 Tagen am Formmailer. Folgenden Formmailer benutze ich: [code] <?php $admin = "max@muster.de"; $subject = "Anfrage"; $message = "Nachricht fuer $admin von $Email:\n\n"; while(list($name,$value)=each($HTTP_POST_VARS)) { $message.="$name: $value\n\n"; } mail($admin,$subject,$message,"From: $Email"); ?> [/code] Ich habe 2 html dateien, die ich noch in dieses Script einbauen möchte. Einmal danke.html und einmal danke_fehler.html. Wenn der Benutzer $Vorname, $Nachname, $Telefon, $Email und $Text nicht eingibt, dann danke_fehler.html ansonsten danke.html. Ich bin euch im voraus dankbar. Ich weiß, es gibt auch schon fertige Formmailer, die ich aber nicht benutzen will.

Antwort 1 von Nessus

Hi,

ist recht einfach:

if (empty ($Text)) {
header(´Location:http://www.Domain/Pfad zur Datei´);
exit; }

HTH

Nessus

Antwort 2 von cuezuem

Danke für die Schnelle Hilfe.

So sieht es aus.

 
<?php

	$admin = "ma@muster.de";
	$subject = "Anfrage";
	$message = "Nachricht fuer $admin von $Email:\n\n";

         while(list($name,$value)=each($HTTP_POST_VARS))
	{
 	$message.="$name: $value\n\n";
	}
	mail($admin,$subject,$message,"From: $Email");

         if(empty($Vorname) || empty($Nachname) || empty($Telefon) || empty($Email) || empty($Text))

         {
	header("Location: danke_fehler.html");
	}
	else
         {
	header("Location: danke.html");
         }
?>


Funktioniert einwandfrei.

Eine Frage habe ich noch.

Wenn der Benutzer ein Fehler macht, indem er die Pflichtfelder nicht ausfüllt, soll der Formmailer die E-mail nicht abschicken. Wie kann ich das machen?

Antwort 3 von Nessus

Hi,

Du bist beim logischen Ablauf etwas durcheinander geraten, Du versendest oben die Mail, bevor die Abfrage auf gültigkeit der Variablen kommt.
Desweiteren hats du den "exit();" vergessen.
So sollte es funktionieren.

<?php
$admin = "ma@muster.de";
$subject = "Anfrage";
$message = "Nachricht fuer $admin von $Email:\n\n";

if(empty($Vorname) || empty($Nachname) ||empty($Telefon) || empty($Email) || empty($Text))
{
header("Location: danke_fehler.html");
exit();   
}
else
{
header("Location: danke.html");
}
while(list($name,$value)=each($HTTP_POST_VARS))
 {
$message.="$name: $value\n\n";
 }
 mail($admin,$subject,$message,"From: $Email");  
?>
 


Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: