Pas de passage de variable PHP [Résolu/Fermé]

Signaler
Messages postés
38
Date d'inscription
dimanche 22 février 2009
Statut
Membre
Dernière intervention
4 mai 2014
-
Messages postés
38
Date d'inscription
dimanche 22 février 2009
Statut
Membre
Dernière intervention
4 mai 2014
-
Bonjour à tous,
j'ai des soucis pour passer une variable en PHP, voici mon pb:
j'ai une page avec des liens, lorsque je clique sur un lien j'appel une autre page "Suppr.php" en envoyant une variable $emplacement (celle-çi passe correctement)
c'est après que ça pose problème, voici un bout de code (c'est un message de confirmation pour supprimer):

echo"<center><FORM method=GET action='Suppr.php?case=".$emplacement."'>";
echo"<b>VALIDER LA SUPPRESSION DE : ".$emplacement."</b><br>";
echo"<input type='submit' value='SUPPRESSION' name='OK_MODIF'>";
echo"</center></form>";


if(isset($OK_MODIF))
{
//mon code où j'utilise la variable $case pour une suppression
}


La variable $emplacement fonctionne très bien, l'affichage est correcte mais la variable $case ne contient rien.
Quelqu'un a une idée?? moi j'ai fait des tests sans succès, j'ai même essayé de passer une valeur écrit en dur dans case mais toujours rien!
merci de votre aide!

13 réponses

Messages postés
536
Date d'inscription
samedi 13 septembre 2008
Statut
Membre
Dernière intervention
29 novembre 2012
63
Tu te complique la vie,
le mieux je pense est de créer un bouton hidden et tu lui donnes comme valeur la variable $emplacement .
Messages postés
38
Date d'inscription
dimanche 22 février 2009
Statut
Membre
Dernière intervention
4 mai 2014
8
un bouton hidden? connais pas!
t'as un bout de code a montré?
Messages postés
536
Date d'inscription
samedi 13 septembre 2008
Statut
Membre
Dernière intervention
29 novembre 2012
63
<input type='hidden' value=' ta valeur ' name=' le nom '>

C'est un bouton qui sera invisible et tu lui met la valeur que tu souhaites. L'avantage c'est que c'est facilement récupérable (comme un bouton texte par exemple)

if (isset( ton bouton hidden) && !empty ( ton bouton hidden))
{
}
Messages postés
38
Date d'inscription
dimanche 22 février 2009
Statut
Membre
Dernière intervention
4 mai 2014
8
je ne comprend pas à quoi ça sert un bouton invisible?!

moi je veux cliquer sur le bouton pour exécuter le code de suppression écrit dans même page

ce qui est bizarre dans mon problème c'est que quand je veux passer une valeur dans $case (même écrit en dur), celle-çi ne passe pas, $case ne contient rien!
Messages postés
2557
Date d'inscription
samedi 21 juillet 2007
Statut
Membre
Dernière intervention
30 mai 2015
350
tu la recupere comment ta variable $emplacement ?

dans tons cas il faut que ce soit par get
dans ta page suppr.php il faut que tu mette ça : $emplacement=$_GET['case'];
Messages postés
38
Date d'inscription
dimanche 22 février 2009
Statut
Membre
Dernière intervention
4 mai 2014
8
j'utilise bien la méthode GET et au début de ma page j'ai extract($_GET);

malheureusement je ne peux utiliser $emplacement=$_GET['case']; car $case ne contient aucune valeur, même en ecrivant une valeur en dur dans le code pour faire un test, $case ne contient toujours rien!
Messages postés
38
Date d'inscription
dimanche 22 février 2009
Statut
Membre
Dernière intervention
4 mai 2014
8
Il n'y a personne qui peut m'aider??

J'ai trouver une solution de rechange mais elle ne me plait pas beaucoup, mais au final ça fonctionne :

echo"<center><FORM>";
echo"<b>VALIDER LA SUPPRESSION DE : ".$emplacement."</b><br>";
echo"<input type='button' value='SUPPRESSION' onclick=\"location.href='Suppr.php?case=".$emplacement."'\">";
echo"</center></form>";


if(isset($case))
{
//mon code où j'utilise la variable $case pour une suppression
}


J'aimerais revenir à l'utilisation d'un boutton "submit", pour ça j'aurais besoin de votre aide!!!
merci
Messages postés
38
Date d'inscription
dimanche 22 février 2009
Statut
Membre
Dernière intervention
4 mai 2014
8
Je continue mes test sans succès!!!
en voilà 1 qui me pose problème et pourtant qui n'est pas compliqué je pense, voici mon code :

fichier index.php:
<?php
extract($_GET);
$valeur='725';
echo"<form method=get action='lien.php?envoi=".$valeur."'>";
echo"valeur=".$valeur;
echo"<br><input type='submit' value='VALIDE'>";
echo"</form>";
?>


fichier lien.php:
<?php
extract($_GET);
echo"<br>affichage de envoi=".$envoi;
?>


Le problème est qu'il ne m'affiche pas la valeur de $envoi,
cela ne fonctionne toujours pas même si, dans le fichier index.php, j'écrit echo"<form method=get action='lien.php?envoi=725'>";

Quel est mon problème?? j'en n'est marre!!! :'(
SVP, aidez moi!!
Messages postés
8
Date d'inscription
jeudi 19 février 2009
Statut
Membre
Dernière intervention
25 février 2009

si tu fais juste:

echo"<br>affichage de envoi=".$_GET['envoi'] ???
Messages postés
38
Date d'inscription
dimanche 22 février 2009
Statut
Membre
Dernière intervention
4 mai 2014
8
nan ça ne marche toujours pas!
j'ai l'impression que mes variables ne passe pas lorsque je clique sur le bouton submit!
par contre avec un lien ça passe nikel!, mais je préfère un boutons!!
Messages postés
2557
Date d'inscription
samedi 21 juillet 2007
Statut
Membre
Dernière intervention
30 mai 2015
350
????
pourqoui tu utilise extract, en plus ca te retourne un array..?
j'ai pas tout le code de ta page mais un exemple tu veut passer 725 en get fait comme ça
<?php
$valeur='725';
echo"<form method=get action='lien.php?envoi='".$valeur."' />
echo"valeur=".$valeur;
echo"<br><input type='submit' value='VALIDE'>";
echo"</form>";
?>

fichier lien.php:
<?php
$result=$_get['envoi'];
echo'<br>affichage de envoi='".$result."';
?>


maintenant si dans ta page index.php tu veut passer une variable precedemment issue d'un champ en get tu marqueras ça
$valeur=$_get['nom_de_ton_champ'];

et la si ça marche pas je veut bien etre transformé en crapaud.. lol !!
Messages postés
38
Date d'inscription
dimanche 22 février 2009
Statut
Membre
Dernière intervention
4 mai 2014
8
Je crois que tu va devoir te transformer :D

le extract m'évite d'écrire "$result=$_get['envoi'];" avec toutes mes variable (ici pour l'exemple je n'en ai qu'une mais pour mon vrais code j'en ai plusieurs!)
ensuite ça ne me retourne pas de array! (je ne vois pas pourquoi ça le ferait !??)

J'ai testé ton code mais au final toujours pas de 725 en affichage!

pour info je viens de faire le test avec : "<form method=get action='lien.php?envoi=725'>"

ça marche pô!! :'(
Messages postés
2557
Date d'inscription
samedi 21 juillet 2007
Statut
Membre
Dernière intervention
30 mai 2015
350
..??
ca y est je suis transformé.. mdr !!
extract te retourne tes variables dans un array et pour les afficher une boucle while suffit, c'est pour ca que je te parlais d'array.

je viens de remarquer un truc
form method=get essaye en mettant get entre " "
et tu utilise quoi comme version de php ?

@+
Messages postés
38
Date d'inscription
dimanche 22 février 2009
Statut
Membre
Dernière intervention
4 mai 2014
8
message posté à 05:34, t'es malade, j'ai besoin de ton aide mais quand même !! :D
Bon, j'te rend ta forme original! lol

alors pour method='get' j'ai déjà essayé! et ça marche point!

PHP Version 5.2.5
Messages postés
2557
Date d'inscription
samedi 21 juillet 2007
Statut
Membre
Dernière intervention
30 mai 2015
350
lol!!
t'inquiete pas pour l'heure je suis un leve tot, la prog c'est un dur métier .. lol !!!!
tu a rien changé sur ton serveur par hasard ?

entre ce code au debut de ta page pour voir ce que tu recupere comme variables

<?php
echo'valeurs request <br/>'.print_r($_REQUEST).'<br/>'; //recup des données  request
echo'<br/>***************** <br/>';
echo'valeurs post <br/>'.print_r($_POST);//recup des données  post
echo'<br/>***************** <br/>';
echo'<br/>valeurs get <br/>'.print_r($_GET);//recup des données  get
echo'<br/>***************** <br/>';
?>
Messages postés
38
Date d'inscription
dimanche 22 février 2009
Statut
Membre
Dernière intervention
4 mai 2014
8
nan j'ai rien changé, j'ai formaté mon pc au début de semaine et j'ai réinstallé wamp, je n'ai fait aucune modif!

voici le résultat (collé dans lien.php) :

Array ( ) valeurs request
1

*****************
Array ( ) valeurs post
1
*****************
Array ( )
valeurs get
1
*****************

affichage de envoi=
Messages postés
38
Date d'inscription
dimanche 22 février 2009
Statut
Membre
Dernière intervention
4 mai 2014
8
J'ai trouvé une solution :

fichier index.php :
<?php
$valeur='725';
echo"<form method=post action='lien.php'>";
echo"valeur=".$valeur;
echo"<input type='hidden' name='envoi' value='".$valeur."'>";
echo"<br><input type='submit' value='VALIDE'>";
echo"</form>";
?>


fichier lien.php :
<?php
$result=$_POST['envoi'];
echo"<br>affichage de envoi=".$result;
?>


YOUPI ça marche!!, j'espère que ça suffira pour ce que je veux faire!! :P
merci lewis34 pour ton aide!
je changerais en "Résolu" si ça fonctionne correctement!