php mysql zoekfunctie script

Status
Niet open voor verdere reacties.

chandlurmark

Gebruiker
Lid geworden
12 mrt 2008
Berichten
58
Hallo allemaal, ik even een snel vraagje. Ik heb een script op mij webserver en dat werkt uitstekend. Alleen zet ik het script op een andere webserver, werkt het niet. Kan iemand mij uitleggen hoe dit komt? Ik heb wel de juiste gegevens ingevoerd, maar hij kan geen zoekactie uitvoeren, op mijn andere server wel!

PHP:
<h2>Zoeken</h2> 


<form name="search" method="post" action="<?=$PHP_SELF?>">

Zoek naar: <input type="text" name="find" /> in 

<Select NAME="field">

<Option VALUE="Naam">Voornaam</option>

</Select>

<input type="hidden" name="searching" value="yes" />

<input type="submit" name="search" value="ZOEKEN" />

</form>



<? 

//This is only displayed if they have submitted the form 

if ($searching =="yes") 

{ 

echo "<h2>Resultaat</h2><p>"; 



//If they did not enter a search term we give them an error 

if ($find == "") 

{ 

echo "<p>Sorry, je kunt niet verder, je bent namelijk vergeten een naam in te vullen"; 

exit; 

} 



// Otherwise we connect to our Database 

mysql_connect("localhost", "wmo", "wmopass") or die(mysql_error()); 

mysql_select_db("wmotest") or die(mysql_error()); 



// We preform a bit of filtering 

$find = strtoupper($find); 

$find = strip_tags($find); 

$find = trim ($find); 



//Now we search for our search term, in the field the user specified 

$data = mysql_query("SELECT * FROM tbl_registratie WHERE upper($field) LIKE'%$find%'"); 



//And we display the results 

while($result = mysql_fetch_array( $data )) 

{ 

echo $result['Naam']; 
echo "<br>"; 

} 



//This counts the number or results - and if there wasn't any it gives them a little message explaining that 

$anymatches=mysql_num_rows($data); 

if ($anymatches == 0) 

{ 

echo "Sorry, maar er kon niks worden gevonden in onze database<br>"; 

} 

}

?>
 
Laatst bewerkt:
hier:

PHP:
if ($searching =="yes")

bedoel je waarschijnlijk:

PHP:
if ($_POST['searching']  =="yes")

Maar je kunt beter gebruiken:

PHP:
if ($_SERVER['REQUEST_METHOD'] == 'POST')
 
En als dat script werkt, dan staat op die machine hoogst waarschijnlijk register_globals aan, en dat zou je echt uit moeten zetten want dat is een hele gevaarlijke instelling.

Betekend dus ook dat je script niet goed is; maar als je de wijzigingen van ErikBooy doorvoert dan gaat het al iets beter.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan