DRINGEND: Automatische Weiterleitung mittels PHP?

Dieses Thema im Forum "Web-Programmierung" wurde erstellt von beebop69, 23.09.2004.

  1. beebop69

    beebop69 Thread Starter MacUser Mitglied

    Beiträge:
    457
    Zustimmungen:
    0
    MacUser seit:
    23.08.2004
    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??
     
  2. TobDeh

    TobDeh unregistriert

    Beiträge:
    62
    Zustimmungen:
    0
    MacUser seit:
    13.02.2004
    So geht's mit PHP

    PHP:
    <?php
        header
    ("Location: http://www.dawoshingeht.de/");
    ?>
    Gruß,
    Tobias
     
  3. beebop69

    beebop69 Thread Starter MacUser Mitglied

    Beiträge:
    457
    Zustimmungen:
    0
    MacUser seit:
    23.08.2004
    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.
     
  4. maceis

    maceis MacUser Mitglied

    Beiträge:
    16.645
    Zustimmungen:
    596
    MacUser seit:
    24.09.2003
    @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.
     
  5. Agmemon

    Agmemon MacUser Mitglied

    Beiträge:
    172
    Zustimmungen:
    0
    MacUser seit:
    05.11.2003
    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.
     
  6. maceis

    maceis MacUser Mitglied

    Beiträge:
    16.645
    Zustimmungen:
    596
    MacUser seit:
    24.09.2003
    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. ;)
     
  7. Darkstar

    Darkstar MacUser Mitglied

    Beiträge:
    160
    Zustimmungen:
    0
    MacUser seit:
    17.07.2004
    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? :)
     
Die Seite wird geladen...

Diese Seite empfehlen