[resolu]question de gros nul...désolé $_POST et $_GET

question de gros nul...désolé $_POST et $_GET [resolu] - PHP - Programmation

Marsh Posté le 01-03-2006 à 15:48:48    

bonjour à tous!!
voilà mon problème (tout con en plus :sweat: ):
 
j'ai plusieurs pages (on va dire page 1 et 2)  avec un champ qui permet de rentrer un identifiant, servant à afficher les données liées à cet identifiant.
l'affichage se transmet bien dans mes includes, pas de soucis.
 
je rentre l'identifiant dans une page 1. sur cette page il y a un lien vers la page 2.
j'ai fait  

Code :
  1. <a href="page2?id=<? echo $_POST['id']; ?>"> lien vers page 2<a />

ça me transmet la variable, pas de problème.
 
sur la page 2 j'ai fait :  
 

Code :
  1. if (isset($_GET['id']) AND empty ($_POST['id']))
  2. {$_POST['id']=$_GET['id']}


en gros si l'identifiant du formulaire n'est pas créé, utilise celui de l'url.
 
mais voilà : si je veux changer l'identifiant via le formulaire, il me garde celui passé par l'url...
 
donc en gros je voudrais passer d'une page à une autre avec le même identifiant quand j'en ai un de tapé. et si j'en tape un autre ben je veux pouvoir naviguer avec le nouveau...
 
quelqu'un pourrait-il me filer un petit coup de main? :jap:  
 
merci beaucoup!! :hello:


Message édité par flock86 le 01-03-2006 à 16:32:32
Reply

Marsh Posté le 01-03-2006 à 15:48:48   

Reply

Marsh Posté le 01-03-2006 à 16:08:53    

[:pingouino] rien compris ...
 
Je vais la tenter quand même...
 
Tu as une page page1.php avec un formulaire en post dans lequel tu peux saisir un identifiant, l'action sur ce formulaire est page2.php.
Sur cette page1.php tu as également des liens vers page2.php, dans ces liens tu passes un id.
 
Sur la page 2, si tu n'as pas de valeur dans POST['id'] tu recopies celle de GET['id'].
 
Ensuite s'quoi le problème?  :??:

Reply

Marsh Posté le 01-03-2006 à 16:18:40    

ah oui non...j'ai pas été clair.
sur page1.php mon formulaire n'agit que sur cette page.  
sur page2.php j'ai la même chose.
 
si je fais un lien tout con, quand je passe de l'une à l'autre, je suis obligé de retaper l'identifiant.
pour palier cela
je met une variable get dans l'url pour passer de l'une à l'autre page et m'éviter ainsi de retaper cet identifiant.
mais c'est la façon dont j'ai codé mes conditions :
si je tape un nouvel identifiant alors que la variable get est passée dans l'url, il n'est pas utilisé et c'est $_get qui prends le dessus...
 
gloups...je raconte mal, on me l'a toujours dit...

Reply

Marsh Posté le 01-03-2006 à 16:23:06    

les variables $_POST et $_GET ne persistent pas de page en page. Pour faire ce que tu veux, faut stocker le contenu du $_POST['id'] ou $_GET['id'] dans une variable de session, genre $_SESSION['id'].

Reply

Marsh Posté le 01-03-2006 à 16:23:39    

ah, pas oublier de mettre session_start() en début des pages où tu utilises $_SESSION

Reply

Marsh Posté le 01-03-2006 à 16:25:12    

if ( !empty($_POST["id"]) ) $id = $_POST["id"]; else $id = $_GET["id"];
Avec ça c'est post qui est prioritaire, sinon get.

Reply

Marsh Posté le 01-03-2006 à 16:26:51    

$_SESSION donc...
ok merci rufo!
je vais tester ça de suite!!
 
bonne journée à vous!!

Reply

Marsh Posté le 01-03-2006 à 16:28:46    

ah bah merci dwogsi!
c'est exactement ce que je voulais!
c'est con, fallait juste que je nomme une troisième variable ($id dans ce cas) au lieu d'essayer de remplacer l'une par l'autre suivant gna gna...
je dois être trépané...
c'est pas bon de rester à baver devant son écran toute la journée...à la fin ça m'attaque je moufte plus rien..
 
mais sinon session faudra que je m'y intéresse de plus près...ça me sera indispensable d'ici très peu de temps...
 
merci à tous et désolé d'avoir encombré le forum d'une question aussi merdique!
 


Message édité par flock86 le 01-03-2006 à 16:31:50
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed