Nog een paar foutjes in zoek macine

Status
Niet open voor verdere reacties.

creative

Gebruiker
Lid geworden
25 dec 2006
Berichten
298
Hallo mede forummer's

Ik heb een zoekmacine gemaakt doormiddel van een tut op Youtube
nu heb ik het script klaar maar nu krijg ik 2 fouten.

Code:
You searched for Google
Notice: Undefined variable: x in C:\wamp\www\zoek\search.php on line 28

Notice: Undefined variable: construct in C:\wamp\www\zoek\search.php on line 30
1 results found!

Google
Google Zoekmacine de meest bekeken zoekmacine uit de wereld
http://www.google.nl

Ik weet niet waar de fout zit. Wie o Wie kan mij helpen ?

PHP:
 <?php
 
 //get data
 $button = $_GET['submit'];
 $search = $_GET['search'];
 
 if (!$button)
    echo "You didn't submit a keyword.";
 else
 {
    if (strlen($search)<=2)
       echo "Search term too short.<hr size='1'";
       else
       {
       echo "Je zocht op:<b>$search</b><hr size='1'>";
       
       //connect database
        mysql_connect("localhost","root","");
        mysql_select_db("zoek");
        

        // explode our zoek term
           $search_exploded = explode (" ",$search);
           
           foreach($search_exploded as $search_each)
           {
                // Construct query
                $x++;
                if ($x==1)
                    $construct .="keywords LIKE '%$search_each%'";
                else
                    $construct .= " AND keywords LIKE '%$search_each%'";
                    
          }

        // here
        $construct = "SELECT * FROM searchengine WHERE $construct";
        $run = mysql_query($construct);

        $foundnum = mysql_num_rows($run);
        
        if ($foundnum==0)
           echo "No results found.";
        else
        {
         echo "$foundnum results found! <p> " ;
         
         while ($runrows = mysql_fetch_assoc($run))
          {
          // get data
          $title = $runrows['title'];
          $desc = $runrows['description'];
          $url = $runrows['url'];
          
          echo "
          <b>$title</b><BR>
          $desc <BR>
          <a href='$url'>$url</a><p>";
          
          }
         
         
         
         
        }
           
           
           
       }
 }
 ?>
 
Code:
Notice: Undefined variable: x in C:\wamp\www\zoek\search.php on line 28

PHP:
$x++;
Hier staat
PHP:
$x = $x + 1;
$x heb je nog nergens gebruikt en dus ook geen waarde gegeven (als het goed is krijgt hij de standaardwaarde nul, maar het is netter om ergens voor deze regel
PHP:
$x = ...;
(vervang ... door de waarde die je $x wilt geven) te zetten).

Code:
Notice: Undefined variable: construct in C:\wamp\www\zoek\search.php on line 30

PHP:
$construct .="keywords LIKE '%$search_each%'";
Hier hetzelfde verhaal. Hier staat
PHP:
$construct = $construct . "keywords LIKE '%$search_each%'";
Terwijl $construct nog nergens gebruikt is en geen waarde heeft. Zet dus nog ergens
PHP:
$construct = "...";
(vervang ... door de waarde die je het wilt geven of laat het leeg voor een lege string).
 
Laatst bewerkt:
Dus als ik het goed begrijp (dat waarschijnlijk niet zo is)

PHP:
// Construct query
                $x = ...;
                $construct = "...";
                $x++;
                if ($x==2)
                    $construct .="keywords LIKE '%$search_each%'";
                else
                    $construct .= " AND keywords LIKE '%$search_each%'";

zo ?
 
Laatst bewerkt:
PHP:
// Construct query
                $x = "";
                $construct = "";
                $x++;
                if ($x==2)
                    $construct .="keywords LIKE '%$search_each%'";
                else
                    $construct .= " AND keywords LIKE '%$search_each%'";

Supersnail zegt: Vervang de ... door de waarde die je de variabele toe wilt kennen, of laat hem leeg. Probeer het is zo als hier boven staat.
 
Vraag is opgelost .. ik heb bij de fout lijnen een @ voor gezet
 
Dus is het niet opgelost, maar laat je alleen niet zien dat het fout is... Slim hoor!
 
Naja het werkt wel.. alles doet het gewoon zo als het moet met de @ er voor dus ik ben tevreden !:thumb:
 
Nee, het werkt helemaal niet zoals het moet. Er worden errors gegeven, maar je doet er niets mee.

Dat is alsof iemand in het ziekenhuis ligt, zijn been is gebroken, de dokter komt, die plakt de mond van de patiënt af, vraagt wat er aan de hand is, krijgt geen antwoord van de patiënt en gaat weer weg, want de patiënt zegt niets dus het is goed.

Nou ja, je snapt m'n punt waarschijnlijk wel. Errors onderdrukken is één van de slechtste praktijken die je kunt toepassen in je script.
 
Tja dat is waar... maar hoe zou ik het anders moeten op lossen. en hij doet nu alles wat ik wil
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan