Ankündigung

Einklappen
Keine Ankündigung bisher.

Mein Suchergebnis wird nicht angezeigt

Einklappen

Neue Werbung 2019

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

  • Mein Suchergebnis wird nicht angezeigt

    Ich habe ein Problem.
    Mein Suchergebnis wird nicht angezeigt
    kann mir da jemand helfen ?

    Ich bekomme immer diese Fehlermeldungen:
    [IMG][/IMG]
    und
    [IMG][/IMG]

    index.php
    PHP-Code:
         <body background="destiny.jpg">
         <font color="#00900"><h2>Spiele</h2></font>
        <p>
       
            <?php
           
                
    // Verbindung zur Datenbank
               
                
    $connection mysql_connect ("localhost","****");
           
               
               
                
    // Datenbank auswählen
                
    $db mysql_select_db("test") or die ("Datenbank existiert nicht");
               
                
    // SQL-Anweisung
                
    $suche 'NULL';
                
    $suche $_GET[$suche];
                
    $sql "SELECT * FROM releases WHERE genre LIKE '%$suche%'";
                
    $result mysql_query($sql);
       
            
    //$Q = mysql_query("SELECT * FROM releases") or die("import abgebrochen");
            //$run = 0;
            //while($row = mysql_fetch_array($Q)) {
                //
                //
                //$run++;
            //}
            //print_r($offeringDB);
            //$offeringDB_count = $run;
       
           
           
           
           
            //$suche = $_POST['suche'];
            //$daten = mysql_query('SELECT * FROM `releases` WHERE `genre` LIKE \'%'.$suche.'%\'');  
            //  while($row=mysql_fetch_array($daten));
           
            //  echo $row['genre] , '<br>
                   
           
            
    ?>
     
     
     
           
            <form action="ausgabe.php" method="GET">
               
                <input type="hidden" name="content" value="Spiele" />
                <input type="text" name="suche" value="" />
                <input type="submit" />
               
            </form>
               
               
     
           
           
            <table class="releases" border="1">
           
           
                <tr>
                    <th>ID</th><th>Spiel</th><th>Publisher</th><th>Genre</th><th>Plattform</th><th>Termin</th>
                </tr>
               
     
           
            <?php
                $count 
    1;
                        
    // Ausgabe der Spiele
     
            
    while ($row mysql_fetch_array ($result)) {           
                   
                    if ( 
    is_int ($count /2) )
                
    $trclass="even";
           
            else
                
    $trclass="odd";
                   
                    echo
    "<tr class='$trclass'>";
                    echo 
    "<td>".$count."</td>";
                    echo
    "<td>".$row['spiel']."</td>";
                    echo
    "<td>".$row['publisher']."</td>";
                    echo
    "<td>".$row['genre']."</td>";
                    echo
    "<td>".$row['plattform']."</td>";
                    echo
    "<td>".$row['termin']."</td>";
                    echo
    "</tr>";
                   
                    
    $count++;
                }
            
    ?>
            </table>
               
       
        </p>

        <html>
    <head>
    <title>Nachricht</title>
    </head>
    <body>
    <form action="seite2.php" method="post">
    Spiel:<input type="text" name="spiel" />
    Publisher:<input type="text" name="publisher" />
    Plattform:<input type="text" name="plattform" />
    Genre:<input type="text" name="genre" />
    Termin:<input type="text" name="termin" />
    <input type="submit" value=Senden! " />
    </form>
    </body>
    </html>
    seite2.php
    PHP-Code:
    <html>
    <head>
    <title>Nachricht</title>
    </head>
    <body>
    <body background="destiny.jpg">
    <?php
    $verbindung 
    mysql_connect("localhost""Passwort")
    or die (
    "Fehler im System");

    mysql_select_db("test")
    or die (
    "Verbindung zur Datenbank war nicht m&oumlglich...");

    $spiel $_POST["spiel"];
    $publisher $_POST["publisher"];
    $plattform $_POST["plattform"];
    $genre $_POST["genre"];
    $termin $_POST["termin"];

    if(
    $spiel == "" or $publisher == "" or $plattform == "" or $genre == "" or $termin == "") {
    echo 
    "Du musst alle Felder ausf&uumlllen!";
    } else {

    $eintrag "INSERT INTO releases
    (spiel, publisher, plattform,genre, termin)

    VALUES
    ('
    $spiel', '$publisher', '$plattform', '$genre', '$termin')";

    $eintragen mysql_query($eintrag);

    if(
    $eintragen == true) {
    echo 
    " Dein Spiel wurde in die Liste eingetragen...";
    } else {
    echo 
    "Fehler im System. Konnte nicht eingetragen werden...";
    }

    }

    mysql_close($verbindung);
    ?>
    </body>
    </html>
    ausgabe.php
    PHP-Code:
      <body background="destiny.jpg">
    <h2>Ihr Suchergebnis</h2>
     
    <?php
    // Verbindung zur Datenbank
               
                
    $connection mysql_connect ("localhost","****");
           
               
               
                
    // Datenbank auswählen
                
    $db mysql_select_db("test") or die ("Datenbank existiert nicht");
               
             
           
            
    $suche$_GET ['suche'];
            
    $erg mysql_query("SELECT spiel, publisher, plattform, genre, termin from `releases` where genre ='$suche'");
       while (list(
    $spiel$publisher$plattform$genre$termin) = mysql_fetch_row($erg)) {
                    echo 
    "$spiel$publisher$plattform$genre$termin <BR>\n";
            }
    ?>

  • #2
    Zitat von ausgabe.php
    SELECT spiel, publisher, plattform, genre, termin from 'releases' where genre ='$suche'
    Warum glaubst du, das da Anführungszeichen bei 'releases' hingehören? Du kannst sie weglassen oder, besser, Back Ticks verwenden (`).

    Kommentar


    • #3
      Offensichtlich hast du ein Problem in deiner Query.

      PHP-Code:
      $erg mysql_query("SELECT spiel, publisher, plattform, genre, termin from 'releases' where genre ='$suche'"); 
      Das scheint keine richtige Query zu sein. ('releases')

      PHP-Code:
             $suche 'NULL';
             
      $suche $_GET[$suche]; 
      Was versuchst du an dieser Stelle? Eine ordentliche IDE würde dir hier sofort den Tipp geben, dass man Variablen nur einmal setzen sollte.

      Desweiteren:
      Die mysql_ Funktionen sind veraltet. Nutze MySQLi oder PDO.
      Dein Code ist Injection-Anfällig. Problem besteht nicht wenn du MySQLi oder PDO mit prepared Statements nutzt.

      Mit freundlichen Grüßen
      Zitat von derwunner
      "Ein FISI ist auf gut-deutsch der Netzwerker. Das heißt Du gehst rauß zum Kunden oder auf die Straße und verlegst Leitungen" - derwunner 2015

      Kommentar


      • #4
        Zitat von Tropi Beitrag anzeigen
        Warum glaubst du, das da Anführungszeichen bei 'releases' hingehören? Du kannst sie weglassen oder, besser, Back Ticks verwenden (`).

        Beim Suchergebnis kommt jetzt keine Meldung mehr.
        Mein Suchergebnis wird angezeigt

        Kommentar


        • #5
          Hier habe ich noch ein Bild von der Datenbank

          [IMG][/IMG]

          Kommentar


          • #6
            An der Datenbank liegt der Fehler nicht. Tipp von mir dazu trotzdem noch: Nutz lieber UTF8 als latin1.
            Zitat von derwunner
            "Ein FISI ist auf gut-deutsch der Netzwerker. Das heißt Du gehst rauß zum Kunden oder auf die Straße und verlegst Leitungen" - derwunner 2015

            Kommentar


            • #7
              PHP-Code:
              $suche 'NULL';
                     
              $suche $_GET[$suche]; 
              Das kann so überhaupt nicht funktionieren, du setzt hier einen Index namens NULL... lass das Dollar bei GET weg und setze Anführungsstriche.

              Desweiteren hast du so jeden Anfängerfehler gemacht, den man machen kann. Mysql-erweiterung, Injections etc.
              Egal aus welchem Tutorial du den Käse hast, lösch diese Seite aus deinen Favoriten...

              Dein Datenbankmodel hat auch ne riesige Schwäche. Wo ist dein Primärschlüssel?
              Current Projects: http://www.welten-buch.de, http://neu.zooadoo.de

              Kommentar


              • #8
                Zitat von CrocoBlack Beitrag anzeigen
                An der Datenbank liegt der Fehler nicht. Tipp von mir dazu trotzdem noch: Nutz lieber UTF8 als latin1.
                Ok habs jetzt geändert

                Kommentar


                • #9
                  Zitat von Geromel Beitrag anzeigen
                  PHP-Code:
                  $suche 'NULL';
                         
                  $suche $_GET[$suche]; 
                  Das kann so überhaupt nicht funktionieren, du setzt hier einen Index namens NULL... lass das Dollar bei GET weg und setze Anführungsstriche.
                  Jetzt kommt die Meldung:
                  Warning: Illegal string offset 'NULL' in C:\xampp\htdocs\test2\index.php on line 18

                  Kommentar


                  • #10
                    Wie sieht der Code jetzt denn aus? (Ich weiß ehrlich gesagt nicht was Geromel mit Dollar bei GET weglassen meinte - natürlich bringt das dann einen Syntaxfehler.) Hast du auch den Rest von Geromels Beitrag bezüglich mysql-Extension und SQL Injections gelesen?

                    Kommentar


                    • #11
                      PHP-Code:
                      $suche $_GET['suche']; 
                      Current Projects: http://www.welten-buch.de, http://neu.zooadoo.de

                      Kommentar


                      • #12
                        Geromel meinte wohl er soll es so ändern:
                        Statt
                        PHP-Code:
                        $_GET[$suche
                        PHP-Code:
                        $_GET['suche'
                        Zitat von derwunner
                        "Ein FISI ist auf gut-deutsch der Netzwerker. Das heißt Du gehst rauß zum Kunden oder auf die Straße und verlegst Leitungen" - derwunner 2015

                        Kommentar


                        • #13
                          PHP-Code:
                          $suche 'NULL';
                                 
                          $suche $_GET['suche']; 
                          Diese Meldung kommt auf der Startseite:
                          Undefined index: suche in C:\xampp\htdocs\test2\index.php on line 20


                          Leider bin ich noch ein Anfänger
                          Diese Tabelle ist auch ein Schulprojekt
                          jeder soll eine Tabelle erstellen und unser Lehrer kennt sich damit auch nicht aus, ka wieso.

                          Kommentar


                          • #14
                            isset() fehlt dir glaub ich,
                            schau doch mal auf:
                            http://php-de.github.io nach, da gibts viel interessantes.
                            //OT: bitte das nächste mal die zeilen nummerieren, in denen die fhler auftreten.

                            Kommentar


                            • #15
                              PHP-Code:
                              if(isset($_GET['suche'])) {
                              $suche $_GET['suche'];
                              }
                              else {
                              $suche '';

                              Sofern vorhanden, wird $suche aufgefüllt mit dem Wert aus der Browser-URL, ansonsten leer gesetzt. Somit ist die Variable beim nachfolgenden Skriptaufruf nicht mehr unbekannt und die Meldung verschwindet. In der else-Klammer sind zwei einfache Gänsefüßchen, nicht verwechseln mit einem Doppelten.

                              Später kann man dann noch eine Bedingung schaffen
                              PHP-Code:
                              if(empty($suche)) {
                              ... 
                              //Falls keine Eingabe im Suchfeld
                              }
                              else {
                              ... 
                              //Falls Suchwert vorhanden

                              und somit eine Fehlermeldung schaffen, falls nichts in das Suchfeld eingegeben wurde, aber trotzdem submitted wurde.

                              Kommentar

                              Lädt...
                              X