GB- Leidiges Thema...Include Problem

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

  • GB- Leidiges Thema...Include Problem

    Hi Leute, mal wieder zum leidigen Thema: Include......

    Ich kann folgenden GB Code einfach nicht inluden.Es sieht so aus. Da wo auf meien Seite der Content ausgegeben wird habe ich folgenden Code:

    PHP-Code:
    <?
    if($site) {
    include("./include/$site.inc");
    } else {
    include("./include/index.inc");
    }
    ?>
    Soo...also übergebe ich einfach mit dem Link eine Variable, durch die dann auf die jeweilige .inc datei verlinkt wird.... so jetzt habe ich in der gb.inc folgenden Code:

    PHP-Code:
    <?php
    // Systemeinstellungen 
        
    $id "geheimnis"// Ihre ID zum MySQL Server 
        
    $pw "geht euch nix an"// Passwort zum MySQL Server
        
    $host "localhost"// Host ("localhost" oder "IP-Adresse")
        
    $database "geheimnis"// Name Ihrer Datenbank
        
    $table "geheimnis"// Name der Tabelle



    // Einstellungen Ende 
    // Verbindung zum Server und Datenbank 
    $conn_id mysql_connect($host,$id,$pw); 
    mysql_select_db($database,$conn_id);

      
    // Speichert einen neuen Eintrag in der Datenabank ab 
      
    if ($action=="save") { 
        
    $datum time(); 
        
    $inhalt $inhalt
        
    $name = ($name) ? $name "unbekannt"
        
    mysql_query("insert into $table (name,email,open,hp,inhalt,datum) VALUES ('$name','$email','$open','$hp','$inhalt','$datum')"); 
        
    header("Location: ".$PHP_SELF); 
      } 

    // Hier beginnt die HTML Ausgabe 
    echo "<html>";  

    if(
    $action=="neu") { 

    ?> 
      <table><form action="<?php echo $PHP_SELF?>" method=post><tr> 
        <input type="hidden" name="action" value="save"> 
        <td>name:</td> 
        <td><input type=text name=name></td> 
      </tr><tr> 
        <td>Email:</td> 
        <td><input type=TEXT name=email></td> 
      </tr><tr> 
        <td> </td> 
        <td><input type=checkbox name=open checked value=1><font size=1>Soll die Emailadresse später im Gästebuch angezeigt werden?</td> 
      </tr><tr> 
        <td>Homepage:</td> 
        <td><input type=text name=hp></td> 
      </tr><tr> 
        <td>Meinung:</td> 
        <td><textarea name="inhalt" rows="6" cols="25"></textarea></td> 
      </tr><tr> 
        <td> </td> 
        <td><input type=submit value="In das Gästebuch eintragen"></td></form> 
      </tr></table> 


    <?php 

    // Ausgabe aller Einträge aus dem Gästebuch 
    } else { 

      
    $query "select * from $table order by datum desc"
      
    $result mysql_query($query);  
      
      if (
    mysql_num_rows($result)) { 
        while(
    $row=mysql_fetch_array($result)) { 
        
          
    $name $row['name']; 
          
    $open $row['open']; 
          
    $email $row['email']; 
          
    $hp $row['hp']; 
          
    $inhalt $row['inhalt']; 
          
    $kommentar $row['kommentar']; 
          
    $datum date("d.m.y",$row['datum']); 
          
          echo 
    "Eintrag vom: ".$datum."<br>"
          echo 
    "User: ".$name
          if(
    $open && $email) echo " (".$email.")"
          if(
    $hp) echo " (".$hp.")"
          echo 
    "<br>Meinung: ".$inhalt
          if(
    $kommentar) echo "Unser Kommentar: ".$kommentar."<br>"
          echo 
    "<hr>"
          
    flush(); 
        
        } 
      } else { 
        echo 
    "Bis jetzt gab es keine Einträge"
      } 


    echo 
    "<p><a href='".$PHP_SELF."?site=gb&action=neu'>Neuer Eintrag</a>";
    echo 
    " - <a href='".$PHP_SELF."?site=gb'>Zum Gästebuch</a>";
    echo 
    "<html>"

    ?>

    So, habe es einfach unten sio geändert dass bei den enthaltenen Verlinkungen noch der Parameter site=gb mitgegeben wird. Wenn ich jetzt auf die hauptseite meines GB gehe (index.php?site=gb) komm erstens eine Fehlermeldung:

    Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /usr/export/www/vhosts/funnetwork/hosting/dusklounge/include/gb.inc on line 61


    aber ich kann in der angegebenen Zeile keinen Fehler entdecken -_-

    Der Link um einen neuen Eintrag zu machen ist auch includet (wie man oben sieht), funzt auch soweit.....aber wenn ich das Formular abschicke in dem man seinen Eintrag macht, dann geht er einfach auf (inde.php?site=index.inc) und es ist nichts im Gästebuch eingetragen.......was mache ich falsch?
    -Am Anfang war das Wort-

    Ich habe fertig mit Abi ^^

  • #2
    Was ergibt ein var_dump() von $result bevor diese auf die mysql_num_rows() losgelassen wird ? Das ergibt wohl keinen Mysql Ressource Type.
    Ist dem so ?

    Gruss

    tobi
    Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

    [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
    Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

    Kommentar


    • #3
      Okay, var_dump($result) würd wahrscheinlich nix ergebn -__-

      aber ich weiß nich wie ich das ändern kann... sorry bin noch nit so lange dabei *lol*
      -Am Anfang war das Wort-

      Ich habe fertig mit Abi ^^

      Kommentar


      • #4
        PHP-Code:
         $result mysql_query($query) or die(mysql_error()); 
        Würde dir den echten Fehler zeigen....
        Wir werden alle sterben

        Kommentar


        • #5
          Okay, var_dump($result) würd wahrscheinlich nix ergebn -__-
          Wenn dem so ist, dann weisst du genau wo der Fehler liegt. Deine Abfrage erzeugt einen Fehler. Also wie vom Vorposter geschrieben mal einen die() machen und den Fehler ausgeben.
          Dann sollte dir MySql mitteilen was ihm nicht passt.

          Gruss

          tobi
          Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

          [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
          Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

          Kommentar


          • #6
            Ich versteh hier grad gar nichts mehr..... also, mit welcher funktion muss ich mich jetzt beschäftigen, damit ich den fehler verstehe bzw. beheben kann? ich kann bei weitem noch nicht alles und muss noch lernen. Man kann ja nich alles auf einmal kapieren
            -Am Anfang war das Wort-

            Ich habe fertig mit Abi ^^

            Kommentar


            • #7
              Hinter jedem mysql_connect & mysql_select_db & mysql_query
              gehört zur Fehlersuche ein " or die(mysql_error()) "

              Schaue zu diesen Funktionen bitte ins PHP Handbuch:
              http://www.php.net/manual/de/


              Zum lernen:
              http://ffm.junetz.de/members/reeg/DSP

              Hier mal ein paar Suchworte:
              sql-injection
              register_globals
              Zuletzt geändert von combie; 23.05.2006, 14:20.
              Wir werden alle sterben

              Kommentar

              Lädt...
              X