Zoek pagina

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Peter van der Voort

Peter van der Voort

25/10/2007 22:16:00
Quote Anchor link
Hallo allemaal,

Ik wil een zoekpagina hebben voor mijn (intranet)pagina's, om documenten te doorzoeken. Alles staat in een database.

Een pagina met een zoekveldje is zo gemaakt, maar ik ben nog niet erg sterk met php5. En ik krijg het niet zo goed werkend als ik het had onder php3.

Kan iemand mij een tip geven?
 
PHP hulp

PHP hulp

24/11/2024 10:51:17
 
- SanThe -

- SanThe -

25/10/2007 22:19:00
Quote Anchor link
Gewoon er aan beginnen en als je ergens vast loopt je probleem hier op het forum posten. Er zijn trouwens best wel regelmatig topics over zoeken en dergelijke.
 
Peter van der Voort

Peter van der Voort

25/10/2007 22:31:00
Quote Anchor link
Ok, de eerste pagina, Zoek_kop.php

<form method="GET" action="zoekres.php" target="_top">
<div align="center">
<center>
<table border="0" cellspacing="0">
<tr><td>Zoekterm:</td></tr><tr><td><input type="text" name="zoek" size="15"></td></tr>
<tr><td colspan=2><input type="submit" value="Zoek!" name="knop"></td></tr>
</td></tr></table>
</center>
</div>
</form>

En dan zoekres.php

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php
include ("login.php3");

$result =  mysql_query ("SELECT * FROM rhbaktie where aktie LIKE '%$zoek%' order by Nummer");
if ($row= mysql_fetch_array($result)) {
print ("<table width=\"100%\">");
do {
     $Naam = $row["Naam"];
     $result1 = mysql_query("SELECT * from formulieren where Naam='$Naam'");
     $row1 = mysql_fetch_array($result1);
     print ("<TR><TD>");
     print $row1["Naam"];
     print ("</TD><TD>");
     print ("</TD></TR>");
   }
while ($row = mysql_fetch_array($result));
print ("</table>");
}

?>



Het probleem is dat mijn pagina zoek_kop de ingevoerde data niet naar de zoekres.php stuurt.
 
- SanThe -

- SanThe -

25/10/2007 22:41:00
Quote Anchor link
Waarom gebruik je GET? Ik zou gewoon POST gebruiken in je formulier.

En $zoek bestaat niet.
Als je POST gebruikt dan komt de variabele uit je formulier binnen in de $_POST['zoek'] variablel. (Lees wat over superglobals)

Dus
"SELECT * FROM rhbaktie where aktie LIKE '%$zoek%' order by Nummer"
wordt dan iets als ($vars buiten je quotes houden)
"SELECT * FROM rhbaktie where aktie LIKE '%" . mysql_real_escape_string($_POST['zoek']) . "%' order by Nummer"

Lees ook wat over mysql-injection.
 
Peter van der Voort

Peter van der Voort

25/10/2007 22:51:00
Quote Anchor link
SanThe,

Bedankt voor je perfecte reactie, ik weet waar ik zoeken moet. Ik heb mijn search pagina lopen.

Ik heb al zo'n lekker dik php5 boek gekocht, ik zal me er dit weekend eens boos op gaan maken.

Thanx for the help.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.