methode get qui efface la précédente

Eléphant du PHP | 216 Messages

31 mai 2006, 11:17

bonjour à tous,

via un lien j'arrive sur une url du type :

www.liste.php?cat=photo&sous_cat=reflex

ensuite j'ai un formulaire sur cette même page et je veux que ce formulaire me génère l'url suivante :

http://www.liste.php?cat=photo&sous_...lex&mark=canon

voici donc mon formulaire :

if (!empty($_GET['cat']))
									{
										$cat = $_GET['cat'];
									}
									
									if (!empty($_GET['sous_cat']))
									{
										$sous_cat = $_GET['sous_cat'];
									}
									
									if (!empty($_GET['univ']))
									{
										$univ = $_GET['univ'];
									}
									
									if (!empty($_GET['cat']) and empty($_GET['sous_cat']))
									{
										echo '<form method="get" action="liste.php?cat="'.$cat.'"" class="form">';
									}
									
									if (!empty($_GET['sous_cat']))
									{
										echo 'on est dans ce cas';
										echo '<form method="get" action="liste.php?cat="'.$cat.'"&sous_cat="'.$sous_cat.'"" class="form">';
									}
									
									if (!empty($_GET['univ']))
									{
										echo '<form method="get" action="liste.php?univ="'.$univ.'" class="form">';
									}
									
					?>
							
													<div class="filtre">
														<SELECT name="mark" onchange="this.form.submit()" class="font" value="<?php echo $mark; ?>">
															<OPTION>Toutes les marques
															<OPTION>CANON									
															<OPTION>NIKON
															<OPTION>FUJI
															<OPTION>SIGMA
														</SELECT>
													</div>					
							</form>

le souci c'est que j'obtiens l'url suivante :

www.liste.php?mark=canon

je ne retrouve plus cat et sous_cat.

que dois-je faire pour ne pas perdre ces valeurs?

merci d'avance de vos réponses.

Avatar du membre
ViPHP
ViPHP | 3008 Messages

31 mai 2006, 11:35

Tu peux récupérer les variables passés en paramètres avec
$_SERVER['QUERY_STRING'];
il te suffit de combiner ça avec ton formulaire. Ca t'aide ?

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

31 mai 2006, 11:57

Le plus propre serait de laisser simplement le nom du fichier en action et de passer tes variables dans des champs hidden :)