Autoresponder in einem neuen Fentser öffnen/anzeigen

77disney

Grünschnabel
Der Befehl $reponse öffnet bei mir die Seite response.php .

So wie ich den Befehl angebe, wird reponse.php nicht in einem neuen Fenster geöffnet, sondern an der Stelle der Seite wo vorher das Emailformular war.
Ich möchte dass response.php in einem neuen Fenster geöffnet wird.Welche Befehl muss ich wo eingeben um den befehl $response bzw die Seite response.php in einem neuen Fenster öfnnen zu lassen?

der Quelltext (nur die Stellen die response.php betreffen) bei mir sieht wie folgt aus:
$To = "mail@test.de
$Autoresponder = "mai@test.de";
$response = "response.php"; # Antwortseite
.....

.....
if ($Autoresponder)
{
$response = "Ihre Mail wurde an mail@info.de weitergeleitet.\n";
SendMail ($From, $Subject, $Response, $Autoresponder);
}
require ("$response");
}
exit ();


Vielen Dank.
 
Da wird dir PHP nicht viel helfen. Du musst ausgehend von der Seite, die der response.php vorhergeht, versuchen, die Ausgabe der reponse.php in eine neues Fenster umzulenken.
Poste doch bitte mal den gesamten Code der vorhergehenden Datei.
 
vielen dank erstmal für die schnelle Antwort, anbei der gesamte Code der vorhergehenden Seite:


<TABLE width=100% height="80%" border=0 bgcolor="white" align="left" >
<tr>
<TD colspan="2" align="left">


<?php
#
# Variablen
#
$To = "info@web.de"; # Empfaenger der E-Mail
$Autoresponder = "info@web.de"; # Absender der Autorespondernachricht
$Autoresponder = $To; #
$response = "response.php"; # Antwortseite
$errorpage = "errorpage.php"; # Fehlerseite

#
# Diese Funktion Ueberprueft die Eingaben
#
function CheckInput ($input)
{
$missing = 0;

if (! $input[From]) { $missing ++; }
if (! $input[Subject]) { $missing ++; }
if (! $input[Message]) { $missing ++; }

return $missing;
}


#
# Diese Funktion versendet eine Mail
#
function SendMail ($To, $Subject, $Message, $From)
{
$valid = $To && $Subject && $Message && $From;
if (! $valid)
{
return 1;
}
$ret = mail ("$To", "$Subject", "$Message", "From: $From");
if (! $ret)
{
return 2;
}
return 0;
}

if ($Send)
{
# Der Button "Senden" wurde angeklickt.
$errors = CheckInput ($HTTP_POST_VARS);
if (! $errors)
{
# Alle Eingaben vorhanden
$ret = SendMail ($To, $Subject, $Message, $From);
if ($ret != 0)
{
# Vielleicht haben Sie vergesssen, den Empfaenger einzutragen
# sehe Variable $To am Anfang
require ("$errorpage");
}
else
{
if ($Autoresponder)
{
$Response = "Ihre Mail wurde an info@web.de weitergeleitet.\n";
SendMail ($From, $Subject, $Response, $Autoresponder);
}
require ("$response");
}
exit ();
}
else
{
$Hinweis = "<font face='verdana' size=2 color='red'>F&uuml;llen Sie bitte alle Felder aus!</b>\n";
}
}
?>



</table>
<table>


</td>
</tr>
<tr>

<td align="left" width="20%">
<p class="text">
<form name="Email" method="post">

Ihre eMail Adresse: </p>
</TD>

<td width="480"><input name="From" value=" <?php echo "\"$From\"";?> size="40"></td>
</tr>
<tr>

<td align="left"><font size="2">
<font color="black" size="2" face="verdana">Betreff:</font>
</td>
<td> <input name="Subject" value=<?php echo "\"$Subject\"";?> size="40"></td>
</tr>
<tr>


<td valign="top" align="left"><font size="2" color="black" face="verdana">Ihre Nachricht:</font>
</td>
<td valign="top" align="left"><font size="2" color="black" face="verdana"> <textarea name="Message" rows="4" cols="40" ><?php echo "$Message";?></textarea></font></td>
</tr>
<tr>

<td colspan="2"><br><br>
<input type="submit" name="Send" value="Senden" size="40">
<?php echo "$Hinweis\n"; ?></td>



</form>

</td>
</tr>
</table>
 
Zuletzt bearbeitet:
Ich weiß zwar nicht, was es bringen soll, aber bitte:
Füg mal im <form>-Tag ein target="_blank" ein. Das öffnet die Ergebnisseite in einem neuen Fenster.
 
ok, habe ich gemacht. hat leider nicht geklappt....
es wird ein neues fenster geöffnet, dort ist dann auch der inhalt der response.php zu sehen, aber zusätzlich immer noch der Text von der vorhergegangenen Seite.Der soll weg es soll dort nur der Inhalt der response.php zu sehen sein.
warum übernimmt der den inhalt der vorhergegangenen seite. Beispiel
auf der vorhegeganegen seite steht:

michael musetrmann
musterweg 3
42000 bonn

über das emailaformular könnt ihr mit mir kontakt aufnehmen

[Formular].

wenn er jetzt die reponseseite aufruft. übernimmt er den Inhalt daraus "Vielen dank für die email" und setzt ihn an die Stelle wo vorher das formular gewesen ist.
 
Also ich habe jetzt grade mal deinen Code inensiv durchgeschaut und würde behaupten, dass das was du vorhast, so nicht möglich ist, da das Formular zu eng mit dem PHP-Code verwoben ist.
Ich würde an deiner Stelle aus dieser einen zwei Dateien machen, eine mit dem Formular und eine, an die die Formulardaten geschickt werden und die diese dann auswertet.
Wenn du dabei Hilfe brauchst, poste hier in diesen Thread.
Gerne mach ich dir auch ein kleines Beispiel, damit du verstehst, was ich meine.
 
Sorry - hat etwas länger gedauert, aber hier ist es nun:

1) form.html
HTML:
<html>
<head>
<title></title>
<script language="JavaScript1.4" type="text/javascript">
function winopen(url,prop)
{
	window.open(url, "PopMeUp","toolbar=yes,menubar=no,width=640,height=480,resizable=yes,scrollbars=yes");
}
</script>
</head>
<body>
<form name="form1" method="post" action="send.php" target="PopMeUp" onSubmit="winopen('send.php');">
  <p>Name: 
    <input type="text" name="From">
    <br>
    Email: 
    <input type="text" name="Subject">
    <br>
    Text: 
    <textarea name="Message"></textarea>
    <br>
    <input type="submit" value="Senden">
</p>
  </form>
 </body>
 </html>

Und die PHP-Seite, die die Mails verschickt:
PHP:
<?php
$to = "dev@digitalbiz.de";   // Mailempfänger

// Prüft, ob die Felder nicht leer sind:
if(($_POST['From'] != "") || ($_POST['Subject'] != "") || ($_POST['Message'] != ""))
{
	// Mail an Seitenbetreiber senden - siehe Variable $to
	mail($to,$_POST['Subject'],$_POST['Message'],"From: ".$_POST['From']);
	
	// Autoresponder - Mail //
	$arText = "Vielen Dank für Ihre Email an " . $to . ". Sie schrieben:\n" . $_POST['Message']; // Text an Absender
	mail($_POST['From'],$_POST['Subject'],$arText,"From: ".$to);
	$status = "Mail wurde erfolgreich an <em>" . $to . "</em> gesendet.<br>Wir haben eine Kopie an <em>" . $_POST['From'] . "</em> gesendet.<br>Vielen Dank!";
}
// Sind die Felder leer, wird eine Fehlermeldung ausgegeben:
else
{
	$status = "Mail konnte nicht verschickt werden. Bitte füllen Sie alle Felder aus!";
}
?>
<html>
<head></head>
<body>
<strong><?=$status;?></strong><br>
<a href="javascript:window.close()">Fenster schließen</a>
</body>
</html>

Es sollte eigentlich selbsterklärend sein - falls nicht, stehe ich natürlich gerne zur Verfügung.

Ein schönes Pfingstwochende!
 
Zurück