Filterform keert terug naar indexpagina
Ik heb een website die opgebouwd is met verschillende pagina's die enkel een body hebben. De header en de footer worden dus steeds gereproduceerd door index.php
Nu heb ik op een bepaalde pagina een form die een filter steekt in de databasequery.
category.php
Code (php)
1
2
3
4
5
6
2
3
4
5
6
<html>
<form method="get" action="<?php echo $_SERVER['PHP_SELF']; ?>">
<select name="filter"><option value="option1">Option1</option><option value="option2">Option2</option></select>
<input type='submit' name='submit' value='Submit'>
</form
</html>
<form method="get" action="<?php echo $_SERVER['PHP_SELF']; ?>">
<select name="filter"><option value="option1">Option1</option><option value="option2">Option2</option></select>
<input type='submit' name='submit' value='Submit'>
</form
</html>
Als ik dit nu uitvoer dan gaat hij naar
www.mijnsite.com/?filter=option1&submit=Submit
Maar ik wil eigenlijk dat hij gaat naar
www.mijnsite.com/?p=category&filter=option1&submit=Submit
Hoe kan ik dit oplossen?
Thx!
Graag in het vervolg bij code, [code] [/code] tags gebruiken.[/modedit]
Gewijzigd op 05/07/2012 20:32:28 door Bas IJzelendoorn
http://www.pfz.nl/forum/topic/7960-filterform-keert-terug-naar-indexpagina/ voor mogelijke antwoorden ;-)
Kijk eventueel (ook) op Het probleem zit hem in $_SERVER['PHP_SELF'].
Ten eerste moet je die niet gebruiken.
Laat hem dan leeg (dus action="").
Waar wordt je dan heen gestuurd?
Is dat niet wat je wilt, doe dan dit:
En als ik het doe met action="?p=category"
Dan gaat hij ook naar de index.php?filter=option1
???
Je kan dit doen
Code (php)
1
2
3
4
5
2
3
4
5
<form method="get" action="">
<input type="hidden" name="p" value="category">
<select name="filter"><option value="option1">Option1</option><option value="option2">Option2</option></select>
<input type="submit" value="Submit">
</form>
<input type="hidden" name="p" value="category">
<select name="filter"><option value="option1">Option1</option><option value="option2">Option2</option></select>
<input type="submit" value="Submit">
</form>
(Een name geven aan een submit knop is, in mijn ogen, meestal nutteloos. Tenzij je echt denkt dat het nodig is, zou ik het weglaten.)
Gewijzigd op 06/07/2012 16:43:33 door Kris Peeters
Bedankt!
Trouwens, eventueel voeg je zoiets toe, dan blijft de select-box staan op de gekozen optie
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
<?php
$filter = isset($_GET['filter']) ? $_GET['filter'] : "" ;
?>
<html>
<form method="get" action="">
<input type="hidden" name="p" value="category">
<select name="filter">
<option value="option1"<?php echo $filter=='option1' ? ' selected="selected"' : "" ?>>Option1</option>
<option value="option2"<?php echo $filter=='option2' ? ' selected="selected"' : "" ?>>Option2</option>
</select>
<input type="submit" value="Submit">
</form>
</html>
$filter = isset($_GET['filter']) ? $_GET['filter'] : "" ;
?>
<html>
<form method="get" action="">
<input type="hidden" name="p" value="category">
<select name="filter">
<option value="option1"<?php echo $filter=='option1' ? ' selected="selected"' : "" ?>>Option1</option>
<option value="option2"<?php echo $filter=='option2' ? ' selected="selected"' : "" ?>>Option2</option>
</select>
<input type="submit" value="Submit">
</form>
</html>