weiterleitung und Cannot add header

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • 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">&nbsp;</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">&nbsp;</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

  • #2
    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?
    INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


    Kommentar


    • #3
      Ich weiss, wie kann ich es denn anders schreiben?

      Ich habe ja bereits gesagt, das mein Wissen begrenzt ist :-D

      Kommentar


      • #4
        die ausgaben erst später machen......
        INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


        Kommentar


        • #5
          Ok, aber wie?

          Das war eigentlich die frage die sich mir von anfang gestellt hat

          könnte mir evtl. jemand weiterhelfen?

          Kommentar


          • #6
            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
            Zuletzt geändert von Seccho; 12.09.2003, 20:01.
            _____________
            Ist das so? Scheinbar muss das so?! Oder ist es vielleicht viel leichter...
            [color=red]Auch ich beantworte keine mails bei php problemen! Für das gibts ja das Forum!![/color]

            Kommentar


            • #7
              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&uuml;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&uuml;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;
              }
              ?>

              Kommentar


              • #8
                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...
                Zuletzt geändert von Seccho; 12.09.2003, 20:15.
                _____________
                Ist das so? Scheinbar muss das so?! Oder ist es vielleicht viel leichter...
                [color=red]Auch ich beantworte keine mails bei php problemen! Für das gibts ja das Forum!![/color]

                Kommentar

                Lädt...
                X