Oli: Weiterleiten auf neue Seite

Hallo Miteinander,
ich habe ein Anfänger Problem, ich arbeite an einem Kontaktformular. Beim absenden generiert das Programm am Ende der selben sein ein
echo "<span class="text">Email erfolgreich verschickt!</span>";

Ich möchte an dieser Stelle aber keine Textausgabe, sondern eine neue Seite (_self) mit der Bestätigung öffnen.
Mit  header("Location: main_home.php"); funzt es leider nicht!

Hat bitte jemand einen Tip für mich?

Danke Gruss Oli

  1. Nabend,

    Ich möchte an dieser Stelle aber keine Textausgabe, sondern eine neue Seite (_self) mit der Bestätigung öffnen.
    Mit  header("Location: main_home.php"); funzt es leider nicht!

    header() erwartet eine absolute URI.
    Was meinst du mit "funzt nicht"? Etwa weil du zuvor andere Ausgaben getätigt hast? Dann solltest du den Aufbau deines Scriptes ändern.

    Bis denne,

    1. Richtig, ich mache zuvor eine Ausgabe an den Benutzer.
      Wie muss ich den das Script ändern damit es funktioniert:

      Hier ist "mein" Script:

      <?
      if($_POST['abschicken'])
      {
      if(!$_POST['name'] || !$_POST['email'] || !$_POST['inhalt'])
      {
          echo "<span class="fehler">Alle Angaben mit * müssen ausgefüllt werden!<br><a href="$PHP_SELF">zurück</a></span>";
      }
      else
      {
        if(!eregi("[1]+([-_.]?[a-z0-9])+@[a-z0-9]+([-_.]?[a-z0-9])+.[a-z]{2,4}", $_POST['email']))
        {
         echo "<span class="fehler">".$_POST['email']." ist eine ungültige Emailadresse! Bitte korrigieren Sie ihre Angaben!<br><a href="$PHP_SELF">zurück</a></span>";
        }
        else
        {
         $header.="From: "$name" <$email>\n";
         $header.="MIME-Version: 1.0\n";
         $header.="Content-Type: text/plain;\n";
         $header.="X-Mailer: PHP/".phpversion();
         $an = ""newnails gmbh" oliver.bolliger@bolligersoehne.ch";  //empfänger E-mail, also deine E-Mail Adresse ^^
         $nachricht1.= "\nAnrede:".$_POST['anrede']."\nName:".$_POST['name']."\nVorname:".$_POST['vorname']."\nStraße/Hausnummer:".$_POST['strasse']."\nOrt/PLZ:".$_POST['ort']."\nE-Mail-Adresse:".$_POST['email']."\nHomepage:".$_POST['homepage']."\nKatalog:".$_POST['katalog']."\nBetreff:".$_POST['betreff']."\nNachricht:".$_POST['inhalt'];
         mail($an,$betreff,$nachricht1, $header);
         $nachricht2 = "$nachricht\n\n(Homepage: $homepage)";
         $subject2 = "Danke für die Kontaktaufnahme";
         $danke = "Guten Tag $anrede $name $vorname,\n\nvielen Dank für Ihre Nachricht!\n\nWir werden Ihre Anfrage so schnell wie möglich Bearbeiten.\n\n\nMit freundlichen Grüssen,\nIhr newnails Team\n\n--\n\nIhre Nachricht an uns:\n\n $inhalt $nachricht2";
         $header2.="From: "newnails gmbh" oliver.bolliger@bolligersoehne.ch\n";  // Angabe der E-Mail Adresse von Ihnen. Diese Adresse wird beim Versender des Kontaktformulares angezeigt.
         $header2.="MIME-Version: 1.0\n";
         $header2.="Content-Type: text/plain;\n";
         $header2.="X-Mailer: PHP/".phpversion();
         $an2 = ""$name" <$email>";
         mail($an2,$subject2,$danke,$header2);
         header("Location: main_home.php");
        }
      }
      }
      ?>

      Gruss Oli


      1. a-z0-9 ↩︎

      1. Nabend,

        Richtig, ich mache zuvor eine Ausgabe an den Benutzer.

        Die ist aber nicht in dem Script zu erkennen.

        Wie muss ich den das Script ändern damit es funktioniert:

        Was meinst du mit "funktioniert nicht" und header() erwartet immernoch eine absolute URI.

        Bis denne,

        1. Hallo Hubert,

          ich meine das nichts passiert wenn ich das Formular abschicke. Die Daten werden zwar korrekt gemailt, aber die neue Seite wird nicht aufgerufen. Ich probiers mal mit der absoluten URL (hab aber kein Fehlermeldung im Script)

          THX Oli

          1. Habs probiert,
            auch mit http:\www.meineseite\index.php statt index.php tut sich leider nichts :-{

      2. hi,

        Richtig, ich mache zuvor eine Ausgabe an den Benutzer.

        vor header() dürfen _keine_ ausgaben erfolgen.

        Wie muss ich den das Script ändern damit es funktioniert:

        sorge dafür, dass vor dem aufruf von header() keine ausgaben erfolgen.

        gruss,
        wahsaga

        1. Thanks all,
          dann werd ich mal Basteln gehen ;-)
          Gruss Oli