Filterform keert terug naar indexpagina
Hallo iedereen,
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
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]
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
Kijk eventueel (ook) op http://www.pfz.nl/forum/topic/7960-filterform-keert-terug-naar-indexpagina/ voor mogelijke antwoorden ;-)
Laten we dan niet vervelend doen en gewoon helpen. Zodat PHPHulp beter lijkt dan PFZ.
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:
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:
Als ik het leeg laat, keert hij dus terug naar de index.php?filter=option1
En als ik het doe met action="?p=category"
Dan gaat hij ook naar de index.php?filter=option1
???
En als ik het doe met action="?p=category"
Dan gaat hij ook naar de index.php?filter=option1
???
Ah, een formulier met method="GET"; daar had ik over gekeken.
Je kan dit doen
(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.)
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
Dat lost het inderdaad op.
Bedankt!
Bedankt!
Graag gedaan
Trouwens, eventueel voeg je zoiets toe, dan blijft de select-box staan op de gekozen optie
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>




