mediengestalter.info
FAQ :: Mitgliederliste :: MGi Team

Willkommen auf dem Portal für Mediengestalter

Aktuelles Datum und Uhrzeit: So 04.12.2016 23:54 Benutzername: Passwort: Auto-Login

Thema: [PHP] Anstelle von echo Weiterleitung auf neue Seite vom 04.11.2004


Neues Thema eröffnen   Neue Antwort erstellen MGi Foren-Übersicht -> Programmierung -> [PHP] Anstelle von echo Weiterleitung auf neue Seite
Seite: 1, 2  Weiter
Autor Nachricht
depot.hdm
Threadersteller

Dabei seit: 12.04.2003
Ort: Siegburg
Alter: 36
Geschlecht: Männlich
Verfasst Do 04.11.2004 12:11
Titel

[PHP] Anstelle von echo Weiterleitung auf neue Seite

Antworten mit Zitat Zum Seitenanfang

Hi, habe auf einer Kontatseite mit diesem "Formailer" gearbeitet. Doff ist nur, das wenn die Mail versandt wurde, lediglich ein neues Fenster mit Times "Ihre Mail wurde versandt". Find ich ein wenig cheap, daher würde ich gerne
auf ein neues html-file verweisen, das hängt ja mit dem "echo"-tag zusammen, gibts da nen tag a la öffne fenster xyz...oä!

Danke im voraus! Hier nochmal der Source.

Code:

<?
$my_email="jan.folgmann@rodin-design.de";
$name = stripslashes ($name);
$name = trim ($name);
$email = stripslashes ($email);
$email = trim ($email);
$telefon = stripslashes ($telefon);
$telefon = trim ($telefon);
$nachricht = stripslashes ($nachricht);
$nachricht = trim ($nachricht);

if (empty($name))
{ echo "Sie haben Ihren Namen nicht eingegeben.<br>";
echo "Klicken Sie <a href=\"javascript:history.back()\">hier</a>, um zum Formular zurückzukehren und den Fehler zu beheben.<br>"; }
else
if (empty($email))
{ echo "Sie haben Ihre Email-Adresse nicht eingegeben.<br>";
echo "Klicken Sie <a href=\"javascript:history.back()\">hier</a>, um zum Formular zurückzukehren und den Fehler zu beheben.<br>"; }
else
if (empty($nachricht))
{ echo "Sie haben keine Nachricht eingegeben.<br>";
echo "Klicken Sie <a href=\"javascript:history.back()\">hier</a>, um zum Formular zurückzukehren und den Fehler zu beheben.<br>"; }
else
if(!ereg(".+@.+\..+", $email)&& !empty($email)) {
echo "Die Email-Adresse ist falsch.<br>";
echo "Klicken Sie <a href=\"javascript:history.back()\">hier</a>, um zum Formular zurückzukehren und den Fehler zu beheben."; }
else {
$betreff="Email an den Webmaster";
$header="From: $name <$email>\n";
$nachricht.="\n";
mail($my_email,$betreff,$nachricht,$header);

echo "Ihre Nachricht wurde versendet!";


}
?>



//EDIT by Sarky
- Bitte Code-Tags verwenden!
- Bitte aussagekräftige Titel verwenden!


Zuletzt bearbeitet von Sarky am Do 04.11.2004 12:18, insgesamt 1-mal bearbeitet
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
Sarky

Dabei seit: 29.06.2002
Ort: Düsseldorf
Alter: 34
Geschlecht: Männlich
Verfasst Do 04.11.2004 12:16
Titel

Antworten mit Zitat Zum Seitenanfang

Verwende anstelle von echo()

Code:

header("location: <seite-die-du-aufrufe-möchtest>.html");


Nur achte dabei darauf, daß Du VORHER KEINERLEI SONSTIGE AUSGABEN mit echo() oder irgendwelchem HTML-Tags hast, sonst bekommst Du die Fehlermeldung "Headers already sent".

PS: In PHP heißt das nicht Tag sondern Funktion *zwinker*
  View user's profile Private Nachricht senden
Anzeige
Anzeige
beeviZ

Dabei seit: 30.09.2002
Ort: Dortmund
Alter: 23
Geschlecht: Männlich
Verfasst Do 04.11.2004 12:17
Titel

Antworten mit Zitat Zum Seitenanfang

statt des echos probier mal

Code:
header ("location: danke.html");



//edit: seh gerade du willst n neues fenster...
dann müsstestes mit javascript machen.
so von wegen

echo "window.open('danke.html');"


Zuletzt bearbeitet von beeviZ am Do 04.11.2004 12:17, insgesamt 1-mal bearbeitet
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
depot.hdm
Threadersteller

Dabei seit: 12.04.2003
Ort: Siegburg
Alter: 36
Geschlecht: Männlich
Verfasst Do 04.11.2004 12:29
Titel

Antworten mit Zitat Zum Seitenanfang

header ("location: danke.html"); <----FUNZT PERFEKT...


danke für die schnelle Hülfe!
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
rob

Dabei seit: 11.12.2003
Ort: ~/
Alter: 39
Geschlecht: Männlich
Verfasst Do 04.11.2004 13:34
Titel

Antworten mit Zitat Zum Seitenanfang

Zitat:
header ("location: danke.html"); <----FUNZT PERFEKT...

Ist aber trotzdem falsch und funktioniert im Schlimmsten Fall nicht...

Erstmal würde ich ein exit; dahinter setzen, damit dahinterstehender Code nicht eventuell doch noch ausgeführt wird. Das könnte sonst u.U. mal passieren. Aber das ist nicht das Problem.

HTTP 1.1 fordert als Location-Header einen absoluten URI, samt Schema.

Also entweder direkt reinschreiben
header( "Location: http://provider.de/seite.html" );
oder erzeugen lassen:
header( "Location: http://".$_SERVER['HTTP_HOST'] . dirname( $_SERVER['PHP_SELF'] ) . "/". $relative_url );
  View user's profile Private Nachricht senden
vase2k

Dabei seit: 24.04.2006
Ort: -
Alter: -
Geschlecht: Männlich
Verfasst Do 02.11.2006 11:26
Titel

Antworten mit Zitat Zum Seitenanfang

Sarky hat geschrieben:
Verwende anstelle von echo()

Code:

header("location: <seite-die-du-aufrufe-möchtest>.html");


Nur achte dabei darauf, daß Du VORHER KEINERLEI SONSTIGE AUSGABEN mit echo() oder irgendwelchem HTML-Tags hast, sonst bekommst Du die Fehlermeldung "Headers already sent".

PS: In PHP heißt das nicht Tag sondern Funktion *zwinker*


Code:
ob_start("ob_gzhandler");
vor irgendwelchen html-ausgaben (egal ob reines html oder über php-echo()) einfügen und schon funktioniert das auch mit den headern *zwinker*

[edit]oops .. das thema is ja schon gut zwei jahre alt .. sorry für die leichenschändung, aber vielleicht hilft es ja trotzdem irgendwann mal wem LächelLächel[/edit]


Zuletzt bearbeitet von vase2k am Do 02.11.2006 11:28, insgesamt 1-mal bearbeitet
  View user's profile Private Nachricht senden
Nimroy
Community Manager

Dabei seit: 26.05.2004
Ort: zwischen Köln und D'dorf
Alter: 38
Geschlecht: Männlich
Verfasst Fr 22.08.2008 13:01
Titel

Antworten mit Zitat Zum Seitenanfang

ich reaktivier das mal. Weiß jemand, obs da mittlerweise ne Lösung in PHP5 gibt? ich hab nen link erzeugt und den will ich dann in nem neuen fenster geöffnet haben.
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
sjalf

Dabei seit: 21.04.2008
Ort: Berlin
Alter: -
Geschlecht: -
Verfasst Fr 22.08.2008 13:05
Titel

Antworten mit Zitat Zum Seitenanfang

Rein PHP: Nein. Php als serverseitige Sprache kann das gar nicht können. Da brauchst du weiterhin JavaScript, sobald automatisches Fenster öffnen ins Spiel kommt. Halte ich aber eh nicht für empfehlenswert, bleibt nämlich in PopUp-Blockern hängen.
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
 
Ähnliche Themen (PHP) Weiterleitung auf "Danke"-Seite
php var echo
PHP Kontaktformular Echo... ratlos
history back in php in echo
Javascript im PHP echo: Variablen werden nicht erkannt
[PHP] Login mit PHP und Weiterleitung in geschützten Bereich
Neues Thema eröffnen   Neue Antwort erstellen Seite: 1, 2  Weiter
MGi Foren-Übersicht -> Programmierung


Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst an Umfragen in diesem Forum nicht mitmachen.