DRINGEND: Automatische Weiterleitung mittels PHP?

beebop69

beebop69

Aktives Mitglied
Thread Starter
Dabei seit
23.08.2004
Beiträge
457
Reaktionspunkte
0
Helft einem PHP-Newbie! :rolleyes:

ich habe folgenden, einfach Formmailer in PHP:

<?php
$admin = "rsm24@freenet.de";
$subject = "PHP-Mail";
$message = "kontakt www.malteserorden.com:\n\n";

while(list($name,$value)=each($HTTP_POST_VARS)) {
$message.="$name: $value\n\n";
}

mail($admin,$subject,$message,"From: $email");
?>

Der wird angesteuert wenn der besucher auf der seite ein formular
ausfüllt und abschickt.
Gibt es eine Möglichkeit, dass ich in derm formmailer eine automatische weiterleitung einbaue?
Der META-Tag "refresh" funktioniert glaube ich nicht, da er dann das php-script nicht ausführt. oder??
 
So geht's mit PHP

PHP:
<?php
	header("Location: http://www.dawoshingeht.de/");
?>

Gruß,
Tobias
 
Muss der Code an einer bestimmten Stelle eingefügt werden?
Momentan funktioniert die Weiterleitung nämlich nicht..... :(

Ist es schlimm, wenn im Kopf der Datei HTML-Befehle sind?
"head", "meta" etc.
 
@TobDeh
das funktioniert aber vermutlich nur, wenn die html header nicht schon gesendet wurden, oder ?
@beebop69
HTTP_POST _VARS ist deprecated; d. h. dass es nicht mehr verwendet werden soll und in kommenden Versionen u. U. nicht mehr funktionieren wird

"refresh" wird funktionieren, solange es korrekt im html-Teil steht.
Der php-Teil wird sehr wohl geparsed, beim refresh hast Du außerdem die Möglichkeit die Anzahl der Sekunden anzugeben, nachder weitergeleitet wird.
was Du mit der automatischen Weiterleitung beabsichtigst verstehe ich nicht (vielleicht kannst Du mal kurz erläutern, wie die Seite funktionieren soll.)
Falls es darum geht, dass Du eine email erhältst, wenn Deine Seite angeklickt wurde, würde ich das anders lösen.
 
maceis schrieb:
das funktioniert aber vermutlich nur, wenn die html header nicht schon gesendet wurden, oder ?

Nicht nur vermutlich, es ist genau so.

Die header()-Funktion ist eigentlich besser als das refresh, da Suchmaschinen meist etwas allergisch auf ein http-refresh reagieren.
 
Agmemon schrieb:
Nicht nur vermutlich, es ist genau so.

Die header()-Funktion ist eigentlich besser als das refresh, da Suchmaschinen meist etwas allergisch auf ein http-refresh reagieren.
Das dürfte abhängig davon sein, was beebop69 erreichen möchte.
Ich vermute mal, er möchte einen Formmailer einrichten, der aktiviert wird, wenn ein Besucher sein Formular absendet und anschließend soll der Besucher auf eine bestimmte Seite (z. B. "Ihre Daten wurden gesendet") geführt werden.
Falls das so ist, gibt es wohl deutlich elegantere Lösungen als "refresh" und "header()".
Also beebop69, melde Dich nochmal wenn Du Hilfe benötigst oder stell uns Deine Lösung vor. ;)
 
falls Du sowas meinst?

Also falls er ein formular per mail versenden möchte, mache ich es immer so (auch wegen der möglichkeit, nicht zu spamem):

PHP:
<?php
if (!isset($_POST['data'])) {
  //Formular überprüfen
  //Beispiel:
  if (!$name) {
    $error['name'] = "<li>Sie haben Ihren Namen nicht angegeben!</li>";
  }
  //Treten fehler auf, diese in einer $error Variable speichern
  
  //kein Fehler
  if (empty($error)) {
    
    //Daten verarbeiten, email versenden
    header ('Location: '.$_SERVER["PHP_SELF"].'?form_send=1');
  }

}
if (!isset($_REQUEST['form_send'])) {
  //Formular zur Eingabe hier
} else {
  //Glückwünsche hier
}
?>

Find ich so eigentlich recht gut. Die aufgetretenen Fehler gebe ich dann immer über dem Formular bzw. bei dem jew. Feld aus... wie man mag.

Suchtest Du so etwas? :)
 
Zurück
Oben Unten