Frage zu dem Gästebuch mit php und mysql (Geht bei mir nicht)

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

  • Frage zu dem Gästebuch mit php und mysql (Geht bei mir nicht)

    Bei mir kommt folgender Fehler:

    Warning: Cannot add header information - headers already sent by (output started at /usr/local/httpd/htdocs/phpMyInventory/var.inc.php:12) in /usr/local/httpd/htdocs/phpMyInventory/gb.php on line 139

    vielleicht kann mir irgendjemand helfen, und mir sagen, woran es liegt!

    Hier der Code von var.inc.php
    PHP-Code:
    <?php
        
    // Datenbank Variablen
        
        
    $dbserver     "localhost";
        
    $dbname     "inventory";
        
    $dbuser     "inventory";
        
    $dbpass        "20074054";
        
        
    // Sonstige Variablen
        
        
    $beitraege    5;
    ?> <------------------------ Zeile 12
    hier der Code von gb.php
    PHP-Code:
    <?php
        
    include('var.inc.php');
        include 
    "includes/header.inc.php";
        include 
    "includes/user_func.inc.php";
        
        if (!isset(
    $aktion))
            {
                
    $aktion "show";
            }
        if (!isset(
    $seite))
            {
                
    $seite 1;
            }
        if (
    $aktion == "show")
            {
                echo
    "<html>".
                    
    "<head>".
                    
    "<title>Help</title>".
                    
    "</head>".
                    
    "<body>";
                
    $conn mysql_connect($dbserver,$dbuser,$dbpass);
                
    mysql_select_db($dbname,$conn);
                
    $anfang = ($seite-1)*$beitraege+1;
                
    $ende $anfang+$beitraege-1;
                
    $query "SELECT * FROM gb ORDER BY datum DESC";
                
    $result mysql_query($query,$conn);
                
    $gesamt mysql_num_rows($result);
                if (
    $gesamt == 0)
                    {
                        echo 
    "No Entries!";
                    }
                
    $counter 1;
                if (
    $ende $gesamt) { $ende $gesamt; }
                echo
    "<table cellspacing=\"2\" cellpadding=\"2\" border=\"1\" align=\"center\">";
                while (
    $zeileholen mysql_fetch_array($result,MYSQL_ASSOC))
                    {
                        if ((
    $counter >= $anfang) AND ($counter <= $ende))
                            {
                                echo
    "<tr width=\"25%\">".
                                        
    "<td>geschrieben von :<br>".stripslashes($zeileholen["name"])."<br>eMail :".stripslashes($zeileholen["email"])."</td>".
                                        
    "<td colspan=\"2\" width=\"75%\">Titel : ".stripslashes($zeileholen["titel"])."</td>".
                                     
    "</tr>".
                                    
    "<tr>".
                                        
    "<td>am ".$zeileholen["datum"]."</td>".
                                        
    "<td colspan=\"2\">".stripslashes(nl2br(htmlentities($zeileholen["beitrag"])))."</td>".
                                    
    "</tr>";
                            }
                        
    $counter++;
                    }
                echo 
    "<tr><td>";
                if (
    $seite == 1)
                    {
                        echo
    "&nbsp;";
                    }
                else
                    {
                         echo
    "<a href=\"gb.php?aktion=show&seite=".($seite-1)."\">zurück</a>";
                    }
                echo
    "</td><td><a href=\"gb.php?aktion=edit\">New Entry</a></td><td>";
                if (
    $ende >= $gesamt)
                    {
                        echo
    "&nbsp";
                    }
                else
                    {
                         echo
    "<a href=\"gb.php?aktion=show&seite=".($seite+1)."\">weiter</a>";
                    }  
                echo
    "</td><td><a href=gbsucheneu.php> Search</a></td><td>"
                if(
    $ende >= $gesamt)
                    {
                        echo 
    "&nbsp";
                    }  
                echo 
    "</td></tr>";    
                echo
    "</table>";             
            }
            
        if (
    $aktion == "edit")
            {
                echo
    "<html>".
                    
    "<head>".
                    
    "<title>Help</title>".
                    
    "</head>".
                    
    "<body>";
                echo 
    "<h4>Write new Entry :</h4>";
                echo
    "<form action=\"gb.php?aktion=insert\" method=\"post\">".
                        
    "<table cellspacing=\"2\" cellpadding=\"2\" border=\"0\">".
                            
    "<tr>".
                                
    "<td>Name : </td>".
                                
    "<td><input type=\"text\" name=\"name\" size=\"30\" maxlength=\"50\"></td>".
                            
    "</tr>".
                            
    "<tr>".
                                
    "<td>eMail : </td>".
                                
    "<td><input type=\"text\" name=\"email\" size=\"30\" maxlength=\"50\"></td>".
                            
    "</tr>".
                        
                            
    "<tr>".
                                
    "<td>Title :</td>".
                                
    "<td><input type=\"text\" name=\"titel\" size=\"30\" maxlength=\"100\"></td>".
                            
    "</tr>".
                            
    "<tr>".
                                
    "<td>System :</td>".
                                
    "<td><input type=\"text\" name=\"system\" size=\"30\" maxlength=\"100\"></td>".
                            
    "</tr>".
                            
    "<tr>".
                                
    "<td>Hardware : </td>".
                                
    "<td><input type=\"text\" name=\"hardware\" size=\"30\" maxlength=\"50\"></td>".
                            
    "</tr>".
                            
    "<tr>".
                                
    "<td>Software : </td>".
                                
    "<td><input type=\"text\" name=\"software\" size=\"30\" maxlength=\"50\"></td>".
                            
    "</tr>".
                            
    "<tr>".
                                
    "<td>Department : </td>".
                                
    "<td><input type=\"text\" name=\"abteilung\" size=\"30\" maxlength=\"50\"></td>".
                            
    "</tr>".
                            
    "<tr>".
                                
    "<td>Contribution :</td>".
                                
    "<td><textarea cols=\"40\" rows=\"15\" name=\"beitrag\"></textarea></td>".
                            
    "</tr>".
                            
    "<tr>".
                                
    "<td><input type=\"submit\" name=\"sub\" value=\"Send Entry\"></td>".
                                
    "<td><input type=\"reset\" name=\"res\" value=\"Reset\"></td>".
                            
    "</tr>".
                        
    "</table>".
                    
    "</form>"
            }
        if (
    $aktion == "insert")
            {
                
    $conn mysql_connect($dbserver,$dbuser,$dbpass);
                
    mysql_select_db($dbname,$conn);
                
    $datum date("Y-m-d H:i:s",time());
                
    $query "INSERT INTO gb VALUES ('', '".addslashes($name)."', '".addslashes($email)."', '".addslashes($titel)."','".addslashes($system)."','".addslashes($hardware)."','".addslashes($software)."', '".addslashes($abteilung)."', '".addslashes($beitrag)."' ,'".$datum."')";
                
    $result mysql_query($query,$conn);
                if (!
    $result)
                    {
                        die (
    "Sorry, Datenbankeintrag hat nicht funktioniert"); 
                    }
                
    mysql_close($conn);
                
    header("Location:gb.php"); <------------------Zeile 139
            
    }
      
            
    ?>


    </body>
    </html>
    Zuletzt geändert von Schneggo; 12.08.2002, 14:27.

  • #2
    vermutlich ist hinter dem ?> in var.inc.php noch ein Leerzeichen oder Zeilenumbruch. Entferne den und es sollte funktionieren.
    Das gleiche gilt für Leerzeichen oder -zeilen am Anfang von gb.php.
    mein Sport: mein Frühstück: meine Arbeit:

    Sämtliche Code-Schnipsel sind im Allgemeinen nicht getestet und werden ohne Gewähr auf Fehlerfreiheit und Korrektheit gepostet.

    Kommentar


    • #3
      Also das mit den Leerzeichen klappt nicht. In die Datenbank wird der Eintrag schon reingeschrieben, aber es kommt immer noch dieser Fehler

      Kommentar


      • #4
        Jetzt gibt er mir folgenden Fehler aus:
        Warning: Cannot add header information - headers already sent by (output started at /usr/local/httpd/htdocs/phpMyInventory/includes/header.inc.php:16) in /usr/local/httpd/htdocs/phpMyInventory/gb.php on line 139

        Hier der Code zu header.inc.php

        PHP-Code:
        <?
        If ($intSecFolder) {
             $strPrefix = "../";
          } Else {
             $strPrefix2 = "security/";
          }

          If (!$strPageTitle) {
               $strPageTitle = "Inventory Database";
          } Else {
               $showHeader = TRUE;
          }
        ?>
        <HTML>
        <HEAD>
        <TITLE><? echo $strPageTitle; ?></TITLE>   <----------------------Zeile 16

        <SCRIPT LANGUAGE="javascript">
        <!--
        function warn_on_submit(msg)
        {
                if (!confirm(msg)) {
                        alert("No changes made.");
                        return false;
                }
        }
        //-->
        </script>

        <STYLE>
        pre { font-family: courier,serif }
        </STYLE>

        </HEAD>
        <BODY bgcolor="#FFFFFF" link='Saddlebrown' vlink='Saddlebrown' alink='Tan'>
        <TABLE border='0' width='750'><TR><TD colspan='3'>

        <h3><font color='#9F0000'>phpMyInventory</font></h3>

        </td></tr><tr><td valign='top' width='148' background='<?echo $strPrefix;?>images/1pix.jpg'>

          <font size='-1'>

          <b>Detailed View</b><hr width='100' align='left'>

          <a href='<?echo $strPrefix;?>index.php'>Summary (<kbd>HOME</kbd>)</a><br>&nbsp;<br>

          <a href='<?echo $strPrefix2;?>viewUsers.php'>View All Users</a><br>
          <!--<a href='<?echo $strPrefix;?>detailed_hw.php'>View All Systems</a><br>-->
          <a href="<?echo $strPrefix;?>showfull.php?asset=spare">View Spare Parts</A><p>
          <a href='<?echo $strPrefix;?>detailed_p.php'>Count Peripherals</a><br>
          <a href='<?echo $strPrefix;?>detailed_sw.php'>Count Software</a>
          <p>&nbsp;<br>

          <b>Admin Menu</b><hr width='100' align='left'>

        <?
          If ($sessionSecurity < 1) {
             echo "<a href='$strPrefix2"."createUser.php'>Add User</A><br>\n";
          }
        ?>
          <a href="<?echo $strPrefix;?>admin_hardware.php">Add System</A>
          <br>&nbsp;<br><a href="<?echo $strPrefix;?>admin_hw_types.php">Edit System Types</A>
          <br><a href="<?echo $strPrefix;?>admin_peripheral_types.php">Edit Peripheral Types</A>
          <br><a href="<?echo $strPrefix;?>admin_software_types.php">Edit Software Types</A>
          <br><a href="<?echo $strPrefix;?>add_abteilung.php">Edit Department</a>

          <p>&nbsp;<br>

          <b>Your Account</b><hr width='100' align='left'>

          <a href="<?echo $strPrefix2;?>userAccount.php">Edit Your Info</A>
          <br><a href="<?echo $strPrefix2;?>logout.php">Logout</A>
          <br><br><a href="<?echo $strPrefix;?>gb.php">Help</a>
          <br><a href="<?echo $strPrefix;?>suche.php">Search</a>
          <br><a href="<?echo $strPrefix;?>statistik.php">Statistics</a>

          <p>&nbsp;

          </font>

        </td>
        <td width='10'>&nbsp;</td>
        <td width='592' valign='top'>
        <?
        If ($showHeader) {
              echo "<h4>$strPageTitle</h4>";
          }
          ?>

        Kommentar


        • #5
          Die Fehlermeldung bedeutet wörtlich übersetzt: Es können keine HTTP-Header mehr gesendet werden, weil die HTML-Ausgabe schon begonnen hat.
          Da bis zu dem Befehl kein echo steht, muss ein Leerzeichen oder Zeilenumbruch außerhalb der php-Tags dafür verantwortlich sein.

          Wenn´s nicht in var.inc.php und nicht in gb.php ist, versuch´s mal am Anfang von includes/header.inc.php.
          Irgendwo wird etwas ausgegeben, sonst käme nicht diese Fehlermeldung.

          Und das die Fehlermeldung erst nach dem DB-Update kommt, ist wohl klar. Die Ausgabe an sich ist kein Fehler, sondern erst der Versuch danach noch Header-Daten zu schicken.
          mein Sport: mein Frühstück: meine Arbeit:

          Sämtliche Code-Schnipsel sind im Allgemeinen nicht getestet und werden ohne Gewähr auf Fehlerfreiheit und Korrektheit gepostet.

          Kommentar


          • #6
            argh ... kein Wunder.
            setz die Abfrage auf ($aktion=="insert")
            zwischen include('var.inc.php');
            und include "includes/header.inc".php";

            Wie gesagt: Nach der Ausgabe von HTML-Daten
            dürfen keine HTTP-Header-Daten mehr gesendet
            werden.
            mein Sport: mein Frühstück: meine Arbeit:

            Sämtliche Code-Schnipsel sind im Allgemeinen nicht getestet und werden ohne Gewähr auf Fehlerfreiheit und Korrektheit gepostet.

            Kommentar


            • #7
              ich habe alle leerzeichen weg und es geht immer noch nicht

              Kommentar


              • #8
                ja klar - die header.inc.php ist ja voll von html-Ausgaben.
                Das insert mit der header-Ausgabe muss geschehen,
                bevor das erste Zeichen zur Ausgabe
                an den Browser gesendet wird -

                gb.php:
                PHP-Code:
                <?php
                  
                include('var.inc.php');
                  if (
                $aktion == "insert")
                  {
                    ....
                    
                header("Location:gb.php");
                  }
                  include 
                "includes/header.inc.php";
                  include 
                "includes/user_func.inc.php";

                  if (!isset(
                $aktion))
                    
                $aktion "show";
                  if (!isset(
                $seite))
                    
                $seite 1;
                  if (
                $aktion == "show")
                  {
                    ...
                  }
                  if (
                $aktion == "edit")
                  {
                    ...
                  }
                ?></body>
                </html>
                mein Sport: mein Frühstück: meine Arbeit:

                Sämtliche Code-Schnipsel sind im Allgemeinen nicht getestet und werden ohne Gewähr auf Fehlerfreiheit und Korrektheit gepostet.

                Kommentar


                • #9
                  Vielen dank, es funktioniert.

                  Hatte vorhin dein posting nicht gelesen. war anscheinend gleichzeitig.

                  Kommentar


                  • #10
                    immer wieder das problem ---&gt;lösung

                    hallo ihr,

                    bei mir läuft alles einwandfrei. schmeist die hader anweisung raus.

                    dann sollte es bei jedem laufen.

                    hier mein sript

                    <?php
                    include('var.inc.php');
                    if (!isset($aktion))
                    {
                    $aktion = "show";
                    }
                    if (!isset($seite))
                    {
                    $seite = 1;
                    }
                    if ($aktion == "show")
                    {
                    echo"<html>".
                    "<head>".
                    "<title>Joel's GästeBuch v0.0.1</title>".
                    "</head>".
                    "<body>";
                    $conn = mysql_connect($dbserver,$dbuser,$dbpass);
                    mysql_select_db($dbname,$conn);
                    $anfang = ($seite-1)*$beitraege+1;
                    $ende = $anfang+$beitraege-1;
                    $query = "SELECT * FROM gb ORDER BY datum DESC";
                    $result = mysql_query($query,$conn);
                    $gesamt = mysql_num_rows($result);
                    if ($gesamt == 0)
                    {
                    echo "Keine Beiträge vorhanden !";
                    }
                    $counter = 1;
                    if ($ende > $gesamt) { $ende = $gesamt; }
                    echo"<table cellspacing=\"2\" cellpadding=\"2\" border=\"1\" align=\"center\">";
                    while ($zeileholen = mysql_fetch_array($result,MYSQL_ASSOC))
                    {
                    if (($counter >= $anfang) AND ($counter <= $ende))
                    {
                    echo"<tr width=\"25%\">".
                    "<td>geschrieben von :<br>".stripslashes($zeileholen["name"])."<br>eMail :".stripslashes($zeileholen["email"])."</td>".
                    "<td colspan=\"2\" width=\"75%\">Titel : ".stripslashes($zeileholen["titel"])."</td>".
                    "</tr>".
                    "<tr>".
                    "<td>am ".$zeileholen["datum"]."</td>".
                    "<td colspan=\"2\">".stripslashes(nl2br(htmlentities($zeileholen["beitrag"])))."</td>".
                    "</tr>";
                    }
                    $counter++;
                    }
                    echo "<tr><td>";
                    if ($seite == 1)
                    {
                    echo"&nbsp;";
                    }
                    else
                    {
                    echo"<a href=\"gb.php?aktion=show&seite=".($seite-1)."\">zurück</a>";
                    }
                    echo"</td><td><a href=\"gb.php?aktion=edit\">neuer Beitrag</a></td><td>";
                    if ($ende >= $gesamt)
                    {
                    echo"&nbsp;";
                    }
                    else
                    {
                    echo"<a href=\"gb.php?aktion=show&seite=".($seite+1)."\">weiter</a>";
                    }
                    echo "</td></tr>";
                    echo"</table>";
                    }

                    if ($aktion == "edit")
                    {
                    echo"<html>".
                    "<head>".
                    "<title>Joel's GästeBuch v0.0.1</title>".
                    "</head>".
                    "<body>";
                    echo"Bitte hier schreiben :";
                    echo"<form action=\"gb.php?aktion=insert\" method=\"post\">".
                    "<table cellspacing=\"2\" cellpadding=\"2\" border=\"0\">".
                    "<tr>".
                    "<td>Name : </td>".
                    "<td><input type=\"text\" name=\"name\" size=\"30\" maxlength=\"50\"></td>".
                    "</tr>".
                    "<tr>".
                    "<td>eMail : </td>".
                    "<td><input type=\"text\" name=\"email\" size=\"30\" maxlength=\"50\"></td>".
                    "</tr>".
                    "<tr>".
                    "<td>Titel :</td>".
                    "<td><input type=\"text\" name=\"titel\" size=\"30\" maxlength=\"100\"></td>".
                    "</tr>".
                    "<tr>".
                    "<td>Beitrag :</td>".
                    "<td><textarea cols=\"70\" rows=\"20\" name=\"beitrag\"></textarea></td>".
                    "</tr>".
                    "<tr>".
                    "<td><input type=\"submit\" name=\"sub\" value=\"Eintragen\"></td>".
                    "<td><input type=\"reset\" name=\"res\" value=\"Reset\"></td>".
                    "</tr>".
                    "</table>".
                    "</form>";
                    }
                    if ($aktion == "insert")
                    {
                    $conn = mysql_connect($dbserver,$dbuser,$dbpass);
                    mysql_select_db($dbname,$conn);
                    $datum = date("Y-m-d H:i:s",time());
                    $query = "INSERT INTO gb VALUES ('', '".addslashes($name)."', '".addslashes($email)."', '".addslashes($titel)."', '".addslashes($beitrag)."' ,'".$datum."')";
                    $result = mysql_query($query,$conn);
                    if (!$result)
                    {
                    die ("Sorry, Datenbankeintrag hat nicht funktioniert");
                    }
                    mysql_close($conn);
                    }
                    ?>


                    </body>
                    </html>

                    Kommentar

                    Lädt...
                    X