Variablenübergabe nach eMail Versand

Chino

Erfahrenes Mitglied
nabend !

also, ich hab ein kontaktformular, was die eingetragenen daten an ein php script weiterleitet. wenn alle gewünschten felder ausgefüllt worden sind, wird zu einer danke.php seite weitergeleitet, falls nich, an eine error.php. so, an sich funzt das auch, nur möchte ich gerne auf der danke.php die zuvor eingetragenen daten anzeigen lassen.

hier mal das script:

PHP:
<?PHP
$headers="From: $kunde <$email_client>";
$mssg="Name: " . $kunde . "\nE-Mail: " . $email_client . "\n\nWebmailer Nachricht:\n" . $nachricht . "\n";
$subject="$betreff - Webmailer";

if($kunde=="" || $email_client=="" || $nachricht=="" ){
   // warnmeldung
   header("Location: error.php");
   }
else
{
   // mail versenden
    mail($empfaenger,$subject,$mssg,$headers);
   header("Location: danke.php");
   }
?>

so, auf der danke.php hab ich u.a. folgende zeilen stehn:

PHP:
<? echo $email_client; ?>

so, nur da wird nix angezeigt. was hab ich falsch gemacht ?

thx,
chino
 
wie Du schon selbst erkannt hast, sind die Variablen beim Aufruf eines neuen Scripts nicht mehr gültig.

Du hast zwei Möglichkeiten:

1.) schreib den kompletten Inhalt der Datei danke.php an die Stelle wo das header("Location: danke.php"); steht (evtl. mit include), dann bist Du im gleichen Script und hast die Variablen noch

2.) übergebe dem Script danke.php die Variablen beim Aufruf mit. Dies kann aber recht aufwendig werden in der Form: header("Location: danke.php?var1=$var1&var2=$var2&var3=$var3......");

ich weiß allerdings nicht, ob die zweite Variante so funktioniert.

Dunsti
 
Meiner Meinung nach gibts es ja noch eine dritte Möglichkeit...

Indem er die variablen gloalisiert.
PHP:
global $var1, $var2...
Sollte auch gehen hmm?
 
Die Methoden 1.) und 2.) von Dunsti funktionieren. Subwoovers 3. Möglichkeit nicht, denn das global-Keyword wirkt ja nicht Datei- u. PHP-Instanz-übergreifend.
 
Original geschrieben von Dunsti
1.) schreib den kompletten Inhalt der Datei danke.php an die Stelle wo das header("Location: danke.php"); steht (evtl. mit include), dann bist Du im gleichen Script und hast die Variablen noch

danke ! funzt ! :)
 
hm, jetzt hab ich ein (kleines) neues problem :)

so, ich würde gern, nachdem die mail an mich abgeschickt wurde, ein bestätigungs mail an den user schicken. als inhalt soll dabei eine externe txt datei verschickt werden.

das verschicken an sich klappt auch, hab ich folgendermaßen gelöst:

PHP:
$datei=fopen("confirm.txt","r");
$mssg_client=fgets($datei, 200); 
$mssg_client= nl2br($mssg_client);

so, dann wird am ende wieder mit mail() die mail verschickt, nach dem gleichen prinzip wie ich das auch schon mit der "normalen" mail tue (s.o).

das einzige was jetzt nich klappt ist, dass die mail auch die gewünschten absätze hat, wie es in der txt datei steht. ich habs auch schon mit \n für einen absatz versucht, aber das klappt nich.

wo bzw. wie gebe ich jetzt an, dass die absätze auch in der mail stehen ?

so, wenn das klappt bin ich erstma zufrieden :)

ne zweite frage fällt mir da noch gerade ein ;)
kann ich dann in der txt datei auch die variablen aus dem formular übernehmen ? also dass ich den user mit seinem namen begrüße oder so ?!

schon ma besten dank für tipps !

thx,
chino
 

Neue Beiträge

Zurück