Weiterleitung mit zwischenmeldung....

Setzch

Mitglied
Guten Morgen,

dank Eurer Hilfe hab ich die Weiterleitung eines Kontaktformulars auch toll hinbekommen. Im Moment nutze ich
PHP:
<?php
 $name=$HTTP_POST_VARS['name'];
 $email=$HTTP_POST_VARS['email'];
 $subject=$HTTP_POST_VARS['subject'];
 $message=$HTTP_POST_VARS['message']; 

$headers = "MIME-Version: 1.0\r\n"; 

$headers .= "Content-type: text/plain; charset=utf-8\r\n"; 

$headers .= "From: $name \r\nReply-to : $name \nX-Mailer:PHP”; 

$subject=”$subject”;
 $destinataire=”YOU@EMAIL.ADRESS”;
 $body=”$message”;
$ok = intval(mail($destinataire,$subject,$message,$headers));

header("Location: zielseite.php?ok=" . $ok);
die(); 
 ?>

Meine 1. Frage Was mir nun fehlt ist halt ne kleine Meldung, die besagt ok deine Mail wurde versendet .Gibt es da ne einfache art das zu machen?
Mir schwebt vor... das zb danke für ihre anfrage für sagen wir 5 sec sichtbar ist bevor dann weitergeleitet wird.

Meine 2. Frage beschäftigt sich mit der zeile
PHP:
$destinataire=”YOU@EMAIL.ADRESS”;
könnte ich da die $email=$HTTP_POST_VARS['email']; irgendiwe einbauen; damit der Absender eine Kopie des mails bekommt ? Wenn ja , wie müsste ich das ansetzten?

Meine 3 Frage wenn ich das Script so wie oben laufen lasse bekomme ich die im Formular eingetragene emailadresse nicht mit übermittelt ist es richtig, das alles was hinter $body steht im formular an mich übertragen wird ?

Wenn ich das dann so ab ändere
PHP:
$body=”$email,$submit,$message”;
Würde es mir dann die email den betreff und den text anzeigen?

VG Setzch
 
Zuletzt bearbeitet:
Hi

Zur Umleitungsfrage:
Mach ein PHP-Script, das per Get-Parameter eine Url bekommt.
Dieses generiert dann eine Seite mit dem Danke-Text
und einer meta-refresh-Weiterleitung auf die Seite, die im Parameter angegeben ist
(und noch ein ausdrücklicher Link, falls die Meta-Weiterleitung nicht funktioniert
"Wenn ihr Browser sie in 5sec nicht weiterleitet, klicken sie hier blabla").
Die Headerweiterleitung im gezeigten Code macht du dann nicht direkt auf die Zielseite,
sondern auf die Umleitungsseite mit Ziel als Parameter.

Zu $HTTP_POST_VARS: Ist schon lange deprecated, verwende $_POST.
Bekommst du keine Fehler bzw. zumindet Warnungen?
(sollte das Zeug in PHP5 überhaupt noch da sein...?)

Frage 3: Zeig dein HTML-Formular.
(natürlich wird nicht alles hinterm Body irgendwohin gesendet)
 
Einfaches beispiel der seite mit dem danke text ->

PHP:
<?php
$ok = $_GET["ok"];	
?>
<html>
	<head>
		<meta http-equiv="refresh" content="5; URL=zielseite2.php">
		<title><?php if ($ok == 1) {echo "Danke und so";} else {echo "ging nicht und so";}?></title>
	</head>
	<body>
	<?php if ($ok == 1) {echo "Vielen dank f&uuml;r ihre E-Mail";} else {echo "Email konnte nichgt versendet werden";} ?>
	<a href="zielseite2.php">Wenn die seite sie nicht nach 5 Sekunden weitergeleitet hat klickern sie hier!</a>
	</body>
</html>

Probier das mal, sollte eig klappen, habs aber nicht probiert, einfach nur kurz zusammengebastelt :D
 
ich teste das heute abend gleich daheim .. vielen dank das Ihr einem laien so toll helft! Bin einfach eher im bereich grafik und design daheim) fals ichd a mal helfen kann ) gerne

@sheel seitenparameter?
@Black danke Dir !
 
So dann hab ich mal mit meinem schmalen Wissen und Eurer Hilfe das so zusammen gebaut:

die Datei Process.php wird vom Formscript aufgerufen
HTML:
 <form method="post" action="process.php" class="form">
          <label for="name">Name:</label>
          <input type="text" name="name" id="name" required placeholder="Name" />
          <label for="name">Betreff:</label>
          <input type="text" name="subject" id="subject" required placeholder="Subject" />
          <label for="email">Email:</label>
          <input type="email" name="email" id="email" required placeholder="email@example.com" />
          <label for="message">Nachricht:</label>
          <textarea name="message" id="message" required></textarea>
           <input type="submit" value="Send Message" />
        </form>

Process.php

PHP:
<?php
$name=$HTTP_POST['name'];
$email=$HTTP_POST['email'];
$subject=$HTTP_POST['subject'];
$message=$HTTP_POST['message']; 
$destinataire="YOU@EMAIL.ADRESS";

$headers  = "MIME-Version: 1.0\r\n"; 
$headers .= "Content-type: text/plain; charset=utf-8\r\n"; 
$headers .= "From: $name\r\n";
$headers .= "Reply-to : $email\r\n";
$headers .= "CC: " . $email . "\r\n";  

$subject=”$subject”; 
$destinataire=”YOU@EMAIL.ADRESS”; 
$body=”$message”; 
$ok = intval(mail($destinataire,$subject,$message,$headers)); 


header("Location: zielseite.php?ok=" . $ok);
die(); 

?>
dieses Ruft dann die Datei zielseite.pnp auf
PHP:
<?php
$ok = $_GET["ok"];    
?>
<html>
    <head>
        <meta http-equiv="refresh" content="5; URL=zielseite2.php">
        <title><?php if ($ok == 1) {echo "Danke und so";} else {echo "ging nicht und so";}?></title>
    </head>
    <body>
    <?php if ($ok == 1) {echo "Vielen dank f&uuml;r ihre E-Mail";} else {echo "Email konnte nichgt versendet werden";} ?>
    <a href="zielseite2.php">Wenn die seite sie nicht nach 5 Sekunden weitergeleitet hat klickern sie hier!</a>
    </body>
</html>


So mit der Datei Process.php sollte ja nun die Möglichkeit gegeben sein auf das erhaltenen Formular mit Antworten zu reagieren
PHP:
$headers .= "Reply-to : $email\r\n";
Mit der Zeile
PHP:
$headers .= "CC: " . $email . "\r\n";
erhält der Absender die Kopie des mails.... hab ich das soweit alles richtig verstanden?
 
Zuletzt bearbeitet:
PHP:
$headers .= "From: $name\r\n"; 
$headers .= "Reply-to : $email\r\n"; 
$headers .= "CC: " . $email . "\r\n";
Wie war das noch mit nem sauberen code? :D
entscheiden, bitte!

Entweder
PHP:
$headers .= "From: $name\r\n"; 
$headers .= "Reply-to : $email\r\n"; 
$headers .= "CC: $email\r\n";

ODER

PHP:
$headers .= "From: " . $name . "\r\n"; 
$headers .= "Reply-to : " . $email . "\r\n"; 
$headers .= "CC: " . $email . "\r\n";
Ich würde sagen der 2., da der auch noch wo anders verwendet wird ;D
 
Zurück