Cannot modify header information

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

  • Cannot modify header information

    Hab leider ein wieder ein paar Probleme.

    Wenn ich mit header ('Location: dd3.php') auf eine andere Seite gehen will, bekomme ich immer die Fehlermeldung cannot modify header information.

    Des weiteren bekomme ich, obwohl ein Datensatz durch die chk_formular function fällt, trotzdem die cannot modify header information fehlermeldung.

    Wie kann das sein? Es wird ja mit mysql_affected_rows eine entsprechende Prüfung abgefragt.

    Wenn ein Datensatz richtig eingegeben wurde, will ich zuerst die ID Nummer auslesen, die der Datensatz besitzt. Wenn ich diesen Teil auskommentiere, funzt das ganze aber, ohne die Fehlermeldung. Warum das???!!!


    Danke schon im Vorfeld für eure Hilfe und Bemühungen!

    PHP-Code:
    <?php
    $db_host 
    "localhost";
    $db_user "root";
    $db_pass "";
    $db_name "tuningweb";

    if (isset( 
    $_POST['eintragen'] ))
    {
        
    // Maskierende Slashes aus POST entfernen
        
    $_POST get_magic_quotes_gpc() ? array_map'stripslashes'$_POST ) : $_POST;
        
        
    $name $_POST['name'];
        
    $tel $_POST['tel'];
        
    $mail $_POST['mail'];
        
    $strasse $_POST['strasse'];
        
    $plz $_POST['plz'];
        
    $ort $_POST['ort'];

        
        
    $conID mysql_connect$db_host$db_user$db_pass ) or die( "Die Datenbank konnte nicht erreicht werden!" );
        if (
    $conID)
        {
            
    mysql_select_db$db_name$conID );
        }
        
        
    // Anfrage zusammenstellen der an die DB geschickt werden soll
        
    $sql "INSERT INTO `tab_firma`
                    (`Name`, `Tel`, `Mail`, `Strasse`, `Plz`, `Ort`)
                VALUES(
                    '" 
    .mysql_real_escape_string$name ). "',
                    '" 
    .mysql_real_escape_string$tel ). "',
                    '" 
    .mysql_real_escape_string$mail ). "',
                    '" 
    .mysql_real_escape_string$strasse ). "',
                    "  
    .$plz.  ",
                    '" 
    .mysql_real_escape_string$ort ). "'
                    )"
    ;
        
        
        
    // Schickt die Anfrage an die DB und schreibt die Daten in die Tabelle
        
    mysql_query$sql );
        
    // Pruefen ob der neue Datensatz tatsaechlich eingefuegt wurde
        
    if (mysql_affected_rows() == 1)
        {
             
    $id_sql=mysql_query("SELECT `ID` FROM `tab_firma` WHERE `Name` = '" .mysql_real_escape_string$name ). "' "); 
            list(
    $wort)=mysql_fetch_row($id_sql); 
            echo 
    $wort;   
            
    header('Location: dd3.php'); 
            exit;
        }
        else
        {
            echo 
    "<h3>Der Datensatz konnte <strong>nicht</strong> hinzugefügt werden!</h3>";
        }
    }
    ?>

    <html>
    <head>
    <title>Formulardaten</title>
        <script type="text/javascript">
            function chkFormular () {
                if (document.Formular.name.value == "") {
                    alert("Bitte Ihren Namen eingeben!");
                    document.Formular.Name.focus();
                    return false;
                  }
                  if (document.Formular.tel.value == "") {
                    alert("Bitte Telefonnummer eingeben");
                    document.Formular.Tel.focus();
                    return false;
                  }
                  if (document.Formular.email.value == "") {
                    alert("Bitte Ihre E-Mail-Adresse eingeben!");
                    document.Formular.Mail.focus();
                    return false;
                  }
                  if (document.Formular.email.value.indexOf("@") == -1) {
                    alert("Keine E-Mail-Adresse!");
                    document.Formular.email.focus();
                    return false;
                  }
                  
                  var checkplz = 1;
                  for (i = 0; i < document.Formular.plz.value.length; ++i)
                    if (document.Formular.plz.value.charAt(i) < "0" ||
                        document.Formular.plz.value.charAt(i) > "9")
                          checkplz = -1;
                  if (checkplz == -1) {
                    alert("Das ist keine PLZ!");
                    document.Formular.Alter.focus();
                    return false;
                  }
                  if (document.Formular.ort.value == "") {
                    alert("Bitte Ihren Wohnort eingeben!");
                    document.Formular.Name.focus();
                    return false;
                  }
            }
        </script>
    </head>

    <body>
    <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" name="Formular" onsubmit="return chkFormular()">
        Name: <input type="text" name="name"/><br />
        Tel: <input type="text" name="tel"/><br />
        Mail: <input type="text" name="email"/><br />
        Strasse: <input type="text" name="strasse"/><br />
        PLZ: <input type="text" name="plz"/><br />
        Ort: <input type="text" name="ort"/><br />

    <input type="submit" name="eintragen" id="eintragen" value="Abschicken" />
    </body>
    </html>

  • #2
    hättest du gesucht, wäre dir aufgefallen, dass man nach einer ausgabe den header nicht mehr verändern kann.
    blllubb

    Kommentar


    • #3
      Würde behaupten wollen, dass echo $wort nur für das debuggen war.

      Da ich sonst keine Ausgabe sehen kann, würde ich atm ein BOM vermuten.

      mfg

      Kommentar


      • #4
        Sorry, hab es gleich nach dem posten gemerkt... hatte das echo vorher für testzwecke genommen und dann vergessen zum entfernen... Ups!

        Kommentar

        Lädt...
        X