Ik heb het zoekvak overgenomen van een andere website van mij waar het wel werkt.
Ik ben er al weer dagen mee bezig maar snap niet waarom het in deze pagina niet werkt

Ik zal hier al mijn code neerzetten en hopelijk dat iemand mij verder kan helpen.

Testpagina

EDIT:

Teveel aan code verwijdert :)
zou je zelf 448 regels code lezen op zoek naar een fout?
bart van der veen schreef op 24.11.2006 11:46
zou je zelf 448 regels code lezen op zoek naar een fout?


Als ik er iemand mee kan helpen zou ik dat zeker doen!
gooi even met echootjes her en der, probeer het iets compacter te maken. Ik wil je best helpen, graag zelfs, maar dit is nogal wat :) kijk evn hoever je pagina nog komt, wat je queries doen etc. Rondje debuggen!
Als je een zoekwoord invult en klikt op "Zoeken" dan gebeurt er niets.

Dit is het zoekvak:
<?php
echo '<form method="post" >';
echo '<input type="text" name="zoekterm" size="15" />';
echo '<input type="submit" name="submit" value="Zoeken" class="select" />';
echo '</form>';
?>


Hier vraag ik de zoekterm op en laat de resultaten zien op de pagina:

<?php
//de tabel voor zoeken
//Als er een zoekopdracht uitgevoerd wordt laat dan de resultaten zien

if ($_SERVER['REQUEST_METHOD'] == 'post' && $_POST['submit'] == 'Zoeken') {

$sql = "SELECT * FROM linken WHERE link_omschrijving LIKE '%" . $_POST['zoekterm'] . "%'";
$res = mysql_query($sql)or die("Sorry maar ik kan de zoekresultaten niet weergeven, probeer het later opnieuw.");
//-- bekijk nu of er een resultaat is, of het zoekwoord dus gevonden is of niet
if (empty($_POST['zoekterm'])) {
echo '<table class="zoek" align="center" width="450" border="0" cellspacing="0" cellpadding="4">';
echo '<tr>';
echo '<td>';
echo '<p align="center"><b>U heeft vergeten iets in te vullen</b><br /><br />';
echo '</td>';
echo '</tr>';
echo '</table>';
} elseif (mysql_num_rows($res) >= 1) {
//-- er is een resultaat gevonden, toon de resultaten via een while () loop

echo '<h1>U zocht op:&nbsp;' . $_POST['zoekterm'] . '</h1>';


echo '<table class="tabelgroot" align="center" cellspacing="0" cellpadding="0">';
echo '<tr><td valign="top" align="center">';
$kolommen = 3;

while ($row = mysql_fetch_assoc($res)){
echo '<table class="kadobon" align="left" width="">';
echo '<tr>';
echo '<td width="120" height="90"><img src="'.$row['link_plaatje'].'" border="0" alt="'.$row['link_naam'].'" /></td>';
echo '</tr>'.PHP_EOL;
echo '<tr>';
echo '<td class="naam">'.$row['link_naam'].'</td>';
echo '</tr>'.PHP_EOL;
echo '<tr>';
echo '<td class="omschrijving">'.$row['link_omschrijving'].'</td>';
echo '</tr>'.PHP_EOL;
echo '<tr>';
echo '<td class="prijs">'.$row['link_prijs'].'</td>';
echo '</tr>'.PHP_EOL;
echo '<tr>';
echo '<td class="linkbon"><a href="kadobon.php?kadobon=' . $row['link_id'] . '" target="_blank" ><img src="plaatjes/kadobon.gif" border="0" alt="Meteen naar de kadobon" title="Meteen naar de kadobon" /></a>&nbsp;/&nbsp;<a href="website.php?website=' . $row['link_id'] . '" target="_blank" ><img src="plaatjes/website.gif" border="0" alt="Naar de website" title="Naar de website" /></a></td>';
echo '</tr></table>';



$counter++;
if($counter==$kolommen)
{
echo '</td></tr></table>'.PHP_EOL.'<table class="tabelgroot" align="left" cellspacing="0" cellpadding="0"><tr>'.PHP_EOL;
$counter = 0;
}


}//einde while lus
echo '</td></tr></table>';

}//einde elseif
else
{
echo '<table class="zoek" align="center" width="450" border="0" cellspacing="0" cellpadding="4">';
echo '<tr>';
echo '<td>';
echo '<p align="center"><b>Er zijn geen resultaten gevonden aan de hand van uw zoekterm.<br>Probeert u het opnieuw.</b><br /><br />';
echo '</td>';
echo '</tr>';
echo '</table>';
}//einde else
}//einde if $SERVER
?>
geen action in je form
wes schreef op 24.11.2006 11:57
geen action in je form


Dat heb ik op mijn andere website ook niet.

Maar hij moet ook niet naar een andere pagina voor de resultaten maar de resultaten laten zien ipv het formulier.

Ik dacht dat ik met het onderste stuk script vertelde dat als het aan die voorwaarden voldoet het dan de resultaten moet laten zien.
zet eens meteen na de 1e if een echo met iets erin, kijken oftie uberhaupt wel zover komt
Hopelijk bedoel je dit?

<?php
if ($_SERVER['REQUEST_METHOD'] == 'post' && $_POST['submit'] == 'Zoeken') {

$sql = "SELECT * FROM linken WHERE link_omschrijving LIKE '%" . $_POST['zoekterm'] . "%'";
$res = mysql_query($sql)or die("Sorry maar ik kan de zoekresultaten niet weergeven, probeer het later opnieuw.");
//-- bekijk nu of er een resultaat is, of het zoekwoord dus gevonden is of niet
echo 'Dit is een test';
if (empty($_POST['zoekterm'])) {
?>

Maar als ik op de knop druk met "Zoeken" gebeurt er niets.
zou je me een lol willen doen en toch
action="<? echo $_SERVER['PHP_SELF'];?>"
in je form head willen zetten, als test
Dit heb ik gedaan, is dat goed?
Overigens zonder resultaat.

<?php
echo '<form method="post" action="'.$_SERVER['PHP_SELF'].'">';
echo '<input type="text" name="zoekterm" size="15" />';
echo '<input type="submit" name="submit" value="Zoeken" class="select" />';
echo '</form>';
?>

Reageren