Pas de passage de variable PHP

Résolu
iberne Messages postés 38 Date d'inscription   Statut Membre Dernière intervention   -  
iberne Messages postés 38 Date d'inscription   Statut Membre Dernière intervention   -
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!
A voir également:

13 réponses

InAme19 Messages postés 539 Date d'inscription   Statut Membre Dernière intervention   62
 
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 .
0
iberne Messages postés 38 Date d'inscription   Statut Membre Dernière intervention   10
 
un bouton hidden? connais pas!
t'as un bout de code a montré?
0
InAme19 Messages postés 539 Date d'inscription   Statut Membre Dernière intervention   62
 
<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))
{
}
0
iberne Messages postés 38 Date d'inscription   Statut Membre Dernière intervention   10
 
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!
0
lewis34 Messages postés 2557 Date d'inscription   Statut Membre Dernière intervention   352
 
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'];
0
iberne Messages postés 38 Date d'inscription   Statut Membre Dernière intervention   10
 
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!
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
iberne Messages postés 38 Date d'inscription   Statut Membre Dernière intervention   10
 
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
0
iberne Messages postés 38 Date d'inscription   Statut Membre Dernière intervention   10
 
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!!
0
sebonoide Messages postés 8 Date d'inscription   Statut Membre Dernière intervention  
 
si tu fais juste:

echo"<br>affichage de envoi=".$_GET['envoi'] ???
0
iberne Messages postés 38 Date d'inscription   Statut Membre Dernière intervention   10
 
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!!
0
lewis34 Messages postés 2557 Date d'inscription   Statut Membre Dernière intervention   352
 
????
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 !!
0
iberne Messages postés 38 Date d'inscription   Statut Membre Dernière intervention   10
 
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ô!! :'(
0
lewis34 Messages postés 2557 Date d'inscription   Statut Membre Dernière intervention   352
 
..??
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 ?

@+
0
iberne Messages postés 38 Date d'inscription   Statut Membre Dernière intervention   10
 
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
0
lewis34 Messages postés 2557 Date d'inscription   Statut Membre Dernière intervention   352
 
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/>';
?>
0
iberne Messages postés 38 Date d'inscription   Statut Membre Dernière intervention   10
 
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=
0
iberne Messages postés 38 Date d'inscription   Statut Membre Dernière intervention   10
 
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!
0