Hallo,

ik ben bezig met een zoekpagina op mijn website.
Via een formulier kan ik bepaalde dingen aan klikken voor een zoek opdracht in mysql doen.
Nu heb ik een probleem, ik ontvang wel degelijk mijn variable op mijn verwerkpagina van mijn formulier
maar door dat ik werk met 'PHP_SELF' voor een pagina indeling verlies ik de waarde van mijn variable.
de code bevindt zich hierbij.

<?php
$search = $_POST["SEARCH_CHOICE_1"];
require("mysql_connect.inc.php"); // maak verbinding met de database

$verbinding = mysql_connect(MYSQL_SERVER, MYSQL_GEBRUIKERSNAAM, MYSQL_WACHTWOORD) or die(mysql_error());
mysql_select_db("website") or die(mysql_error());
error_reporting(E_ALL);




$res1 = mysql_query("SELECT COUNT(username) FROM profiel") or die("res1: ".mysql_error()); // vraag het AANTAL items op
$items_totaal = mysql_result($res1, 0); // het totaal aantal items
mysql_free_result($res1); // geef het resultaat vrij

$items_per_pagina = 1; // vrij te kiezen
$aantal_paginas = ceil($items_totaal / $items_per_pagina); // het aantal items per pagina

// de huidige pagina opvragen
$huidige_pagina = 0; // default
if(isset($_GET['p']) && is_numeric($_GET['p']) && $_GET['p'] > 0 && $_GET['p'] < $aantal_paginas) {
$huidige_pagina = $_GET['p'];
}

if ($search == 'SEARCH_ALL') {
// items van de huidige pagina ophalen
$offset = $huidige_pagina * $items_per_pagina;
$res2 = mysql_query("SELECT * FROM profiel ORDER BY username DESC LIMIT ".$offset.","
.$items_per_pagina) or die("res2:". mysql_error());


//doe hier iets met de gegevens in $res2
while($record = mysql_fetch_assoc($res2)){
echo "<table border=0 width=60% summary=>";
echo "<tr><td width=35%>";
echo $username = $record["username"];
echo "</td><td>";
$afbeelding = $record["afbeelding"];
echo "<center><br><img src='users/tmbk/".$afbeelding."' border=2 ><br><br></center>";
echo "</td></tr></table>" ;
}


// resultaten vrijgeven
mysql_free_result($res2);
}

// navigatie
for($i = 0; $i < $aantal_paginas; $i++) {
if($huidige_pagina == $i) {
// huidige pagina is niet klikbaar
echo "<b>".($i+1)."</b>";
} else {
// een andere pagina dan de huidige is wel klikbaar
echo "<a href=\"".$_SERVER['PHP_SELF']."?p=".$i."\">".($i+1)."</a>";
}
// deel-streepje tussen alle items
if($i < $aantal_paginas - 1) {
echo " - ";
}
}
?>

De eerste pagina geeft hij correct weer, maar als ik doorga na de tweede pagina krijg ik volgende foutmelding

Notice: Undefined index: SEARCH_CHOICE_1 in C:\Users\scalle\Desktop\website editors en hulp\USBWebserver v8_nl\root\website\look.php on line 3

Ik geraak er niet uit hoe ik dit moet oplossen.

Heeft er iemand een idee hoe dit kan opgelost worden.
Hopend op een oplossing wil ik jullie reeds bedanken.
Als je niet zoekt is $_POST['SEARCH_CHOICE_1'] nog niet gemaakt.

Dit werkt:

<?php
$search = '';
if(isset($_POST["SEARCH_CHOICE_1"]) AND !empty($_POST["SEARCH_CHOICE_1"])
	{
	$search = $_POST["SEARCH_CHOICE_1"];
	}
?>
hallo Eddy,

Ik heb jou deel php code vooraan in mijn code geplaatst maar dan krijg ik de volgende foutmelding
Parse error: syntax error, unexpected '{
Kom, niet zo kinderachtig. Voeg even zelf de ontbrekende ")" toe. Gewoon even tellen, er moeten evenveel "(" als ")" zijn.
ja sorry hoor, maar soms kijk je daar gewoon over. Ben nog een leek in het opsporen van fouten.
maar bedankt voor het antwoord
zodra je "doorklikt" naar een volgende pagina, ontvangt je verwerk-pagina een nieuwe POST array waarin de SEARCH_CHOICE_1 niet opgenomen is. Die moet je handmatig toevoegen aan de volgende pagina link OF je zet een cookie om die waarde door te geven.
bedankt voor de mogelijke oplossingen.
Ik ben tot de oplossing gekomen om de variable bij elke keer dat ik naar een andere pagina navigeer hem terug met de url te verzenden.
de regel
<?php echo "<a href=\"".$_SERVER['PHP_SELF']."?p=".$i."\">".($i+1)."</a>";?>
is nu geworden
<?php
echo "<a href=\"".$_SERVER['PHP_SELF']."?p=".$i."&SEARCH_CHOICE_1=".$search."\">".($i+1)."</a>";
?>
en bovenaan zet ik deze regel:
<?php $search = $_GET["SEARCH_CHOICE_1"];?>

bedankt voor mij goede raad allemaal te geven

Reageren