PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Fragen zu Laravel, YII oder anderen PHP-Frameworks. |
 |

12-09-2003, 18:56
|
mikey666
Newbie
|
|
Registriert seit: Sep 2003
Beiträge: 6
|
|
weiterleitung und Cannot add header
Hallo, ich habe ein problem mit einer Weiterleitung in meinem Formular nach welcher immer "Cannot add header information"fehler kommt!
Ich habe schon herausgefunden, das normalerweise keine Ausgabe vor dem PHP quelltext ausgegeben werden darf, das problem taucht halt auf, wenn ich die "Danke Seite" wieder in die Hauptseite einfügen möchte!
Hier in der Zeile mit header ("Location: ".$redirect); tritt das Problem auf
PHP-Code:
$redirect = "./site.php?section=thanks";
PHP-Code:
mail ($email01, $subject01, $body01, "From:$email");
header ("Location: ".$redirect);
exit;
Und hier möchte ich es wieder einführen, habe es alles ein wenig gekürzt, bzw. ein stück aus der mitte einfach gelöscht :-D
PHP-Code:
<html>
<head>
<title>test</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
<div align="center">
........................................................................................
........................................................................................
<td height="18" valign="top"><img src="images/navi/agbs6.gif" width="197" height="32"></td>
</tr>
<tr>
<td height="19" valign="top"><img src="images/naviun.gif" width="197" height="260"></td>
</tr>
</table></td>
<td height="183" valign="top"><table width="100%" border="0" cellpadding="0" cellspacing="0">
<!--DWLayoutTable-->
<!--DWLayoutTable-->
<tr>
<td width="12" height="183"> </td>
<td width="783" valign="middle">
<?php
if($section==unserele){
include ("unserele.php");
}
if($section==verkauf){
include ("verkauf.php");
}
if($section==services){
include ("services.php");
}
if($section==kontakt){
include ("kontakt.php");
}
if($section==preise){
include ("preise.php");
}
if($section==prasent){
include ("./unserele/prasent.php");
}
if($section==inform){
include ("./unserele/inform.php");
}
if($section==multim){
include ("./unserele/multim.php");
}
if($section==konfere){
include ("./unserele/konfere.php");
}
if($section==datens){
include ("./unserele/datens.php");
}
if($section==buros){
include ("./unserele/buros.php");
}
if($section==willkommen){
include ("willkommen.php");
}
if($section==formailer){
include ("./formailer/mailtemplate1.php");
}
if($section==mail2){
include ("./formailer/mail2.php");
}
if($section==thanks){
include ("./formailer/thanks_template.php");
}
?>
</td>
</tr>
</table></td>
</tr>
<tr>
<td height="19"> </td>
</tr>
</table>
</div>
</body>
</html>
Bin ehrlich und habe nicht wirklich viel ahnung hiervon :-D Und wäre über jede Hilfe äusserst dankbar!
Vielen Dank im Vorraus
|

12-09-2003, 19:21
|
Abraxax
  THE REAL HAXE (Administrator)
|
|
Registriert seit: Jul 2002
Ort: neuss.nrw.de
Beiträge: 22.625
|
|
Zitat:
Ich habe schon herausgefunden, das normalerweise keine Ausgabe vor dem PHP quelltext ausgegeben werden darf, das problem taucht halt auf, wenn ich die "Danke Seite" wieder in die Hauptseite einfügen möchte!
|
und warum machst du dann immer noch ausgaben?
|

12-09-2003, 19:32
|
mikey666
Newbie
|
|
Registriert seit: Sep 2003
Beiträge: 6
|
|
Ich weiss, wie kann ich es denn anders schreiben?
Ich habe ja bereits gesagt, das mein Wissen begrenzt ist :-D
|

12-09-2003, 19:37
|
Abraxax
  THE REAL HAXE (Administrator)
|
|
Registriert seit: Jul 2002
Ort: neuss.nrw.de
Beiträge: 22.625
|
|
die ausgaben erst später machen......
|

12-09-2003, 19:45
|
mikey666
Newbie
|
|
Registriert seit: Sep 2003
Beiträge: 6
|
|
Ok, aber wie?
Das war eigentlich die frage die sich mir von anfang gestellt hat
könnte mir evtl. jemand weiterhelfen?
|

12-09-2003, 19:55
|
Seccho
Registrierter Benutzer
|
|
Registriert seit: May 2003
Ort: kurz vor bzw. nach Zürich gleich links.. bei der brücke..
Beiträge: 544
|
|
Was steht vor...
PHP-Code:
mail ($email01, $subject01, $body01, "From:$email");
header ("Location: ".$redirect);
exit;
... und schau dir doch mal die möglichkeiten einer switch-abfrage an
Und das gibts hier http://ch.php.net/manual/de/control-...res.switch.php
__________________
_____________
Ist das so? Scheinbar muss das so?! Oder ist es vielleicht viel leichter...
Auch ich beantworte keine mails bei php problemen! Für das gibts ja das Forum!!
Geändert von Seccho (12-09-2003 um 20:01 Uhr)
|

12-09-2003, 20:07
|
mikey666
Newbie
|
|
Registriert seit: Sep 2003
Beiträge: 6
|
|
ok ich poste mal das komplette script, leider kann ich mit der "switch-abfrage" nichts anfangen, ich müsste mich glaube ich zu tief in die "Matiere-PHP" reindenken, wozu mir leider zur zeit ein wenig die Zeit fehlt :-D Ich wollte eigentlich nur eine einfach möglichkeit einen Formailer zu benutzen, und stoße auf probleme mit denen ich nie gerechnet hätte :-D
PHP-Code:
<?php
$name_tag[0] = "Sonntag";
$name_tag[1] = "Montag";
$name_tag[2] = "Dienstag";
$name_tag[3] = "Mittwoch";
$name_tag[4] = "Donnerstag";
$name_tag[5] = "Freitag";
$name_tag[6] = "Samstag";
$num_tag = date( "w");
$day = $name_tag[$num_tag];
$year = date("Y");
$day_num = date("d");
$month = date("m");
$time = (date("H:i"));
// die variablen der email, die sie erhalten - bitte entsprechend anpassen!
$redirect = "./site.php?section=thanks";
$sender = "test";
$email01 = "test";
$subject01 = "Formailer test";
$body01 = "Nachricht gesendet am $day, $day_num.$month.$year um $time:
----------------------------------------------------------------
Anrede : $anrede
Name : $name
Vorname : $vorname
Tel : $tel
eMai : $email
----------------------------------------------------------------
Nachricht:
$message";
$subject02 = "Vielen Dank für Ihre Nachricht"; // betreff der bestätigungsmail
$body02 = "Am $day, $day_num.$month.$year um $time haben wir folgende Nachricht von Ihnen erhalten:
-----------------------------------------------------------------------------------
Anrede : $anrede
Name : $name
Vorname : $vorname
Tel : $tel
eMail : $email
-----------------------------------------------------------------------------------
Nachricht:
$message
-----------------------------------------------------------------------------------
Wir werden uns umgehend um Ihre Anfrage kümmern.
Sollte es sich um einen Irrtum handeln, informieren Sie uns bitte unter mailto:$email01
Gruss
$sender"; // das sind sie ;-)
if($anrede == "bitte wählen Sie") {
$stop = "stop";
$stop_message .= "<br>Ihre Anrede fehlt !"; // die variable "$stop_message" kann natürlich von ihnen geändert werden
}
// 2. der name darf nicht leer sein (muss also ausgefüllt sein)
if(empty($name)) {
$stop = "stop";
$stop_message .= "<br>Ihr Name fehlt !"; // die variable "$stop_message" kann natürlich von ihnen geändert werden
}
// 3. die email adresse darf nicht leer sein
if(empty($email)) {
$stop = "stop";
$stop_message .= "<br>Ihre eMail Adresse fehlt !"; // die variable "$stop_message" kann natürlich von ihnen geändert werden
}
// 3. die email adresse darf nicht leer sein
if(empty($tel)) {
$stop = "stop";
$stop_message .= "<br>Ihre Telefonnummer fehlt !"; // die variable "$stop_message" kann natürlich von ihnen geändert werden
}
// 4. einen text muss der user auch eingeben (schliesslich hat er doch was zu sagen)
if(empty($message)) {
$stop = "stop";
$stop_message .= "<br>Bitte geben Sie eine Nachricht ein !"; // die variable "$stop_message" kann natürlich von ihnen geändert werden
}
if ($stop == "stop") {
echo "<title>Formailer - fehlermeldung</title>"; // den seitentitel sollten sie auch anpassen ;-)
echo "<link href=\"formailer/css/standard_styles.css\" rel=\"stylesheet\" type=\"text/css\">"; // sie können diese zeile entfernen, wenn sie das stylesheet nicht nutzen wollen
echo "Sie haben vergessen folgende Felder auszufüllen: <br>";
// 6. und nun folgen die jeweiligen fehlermeldungen ("$stop_message") untereinander
echo $stop_message;
// damit der user seinen "fehler" beheben kann folgt nun der "zurück"-Link
echo "<br><br><a href=\"javascript:history.back()\">zurück</a>";
}
// wenn aber alle felder richtig ausgefüllt sind dann...
else {
// verschickt eine bestätigungsmail an den absender des formulars | entfernen sie das #-zeichen, wenn sie siese funktion nutzen wollen
#mail ($email, $subject02, $body02, "From:$email01");
// verschickt das mailformular an ihre email adresse und leitet den user auf die "danke"-seite um
mail ($email01, $subject01, $body01, "From:$email");
header ("Location: ".$redirect);
exit;
}
?>
|

12-09-2003, 20:13
|
Seccho
Registrierter Benutzer
|
|
Registriert seit: May 2003
Ort: kurz vor bzw. nach Zürich gleich links.. bei der brücke..
Beiträge: 544
|
|
Seh ich das richtig, dass du die datei includen willst?
Dann kanns ja nicht gehen ... mit nichts ausgeben meint abraxax nichts... kein leerzeichen bzw. kein html...
__________________
_____________
Ist das so? Scheinbar muss das so?! Oder ist es vielleicht viel leichter...
Auch ich beantworte keine mails bei php problemen! Für das gibts ja das Forum!!
Geändert von Seccho (12-09-2003 um 20:15 Uhr)
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
Themen-Optionen |
|
Thema bewerten |
|
Forumregeln
|
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
|
PHP News
|