Récupérer la valeur d'une variable php

Résolu/Fermé
Absot Messages postés 777 Date d'inscription mardi 28 octobre 2008 Statut Membre Dernière intervention 4 septembre 2020 - 2 juin 2009 à 14:31
ketro50 Messages postés 24 Date d'inscription jeudi 12 février 2009 Statut Membre Dernière intervention 4 mai 2013 - 4 mai 2013 à 14:42
Bonjour, je réalise un site internet et je voudrais récupérer la valeur d'une variable php dans une autre page, l'idée est que j'ai une page "traitement.php" qui est utilisé à la suite de l'inscription d'un client ou de son authentification et dans ces deux pages, j'ai initialisé une variable $page
puis j'y ai affecté soit la valeur 1 ou 2..

Suivant la récupération de valeur, le traitement ne sera pas le même et je bloque pour récupérer cette valeur, j'ai un trou de mémoire et les sessions ne servent à rien je pense puisque cette variable n'est utile qu'à ce moment là et non sur tout le site..

11 réponses

Absot Messages postés 777 Date d'inscription mardi 28 octobre 2008 Statut Membre Dernière intervention 4 septembre 2020 44
2 juin 2009 à 14:39
Mon formulaire est déclaré comme ça: <form method="post">

Je connais la méthode $page = $_POST['nom_de_ton_champ'] ; seulement ça ne fonctionne pas pour une variable genre $page = $_POST['$page']; ?
2
Absot Messages postés 777 Date d'inscription mardi 28 octobre 2008 Statut Membre Dernière intervention 4 septembre 2020 44
2 juin 2009 à 14:46
Ca ne fonctionne pas.

Je mets mon code:

page1.php
-----------------------------------------------------------------------------------------------
<FORM method=post action="page2.php">
$page=1;
<INPUT type="submit" value="Envoyer">
</FORM>
-----------------------------------------------------------------------------------------------

page2.php
-----------------------------------------------------------------------------------------------
$page=?


-----------------------------------------------------------------------------------------------
2
Je sais que tu as résolu ton problème, mais par pitié, ne me code plus jamais cette horreur. :D
Ce n'est pas un formulaire..
0
Absot Messages postés 777 Date d'inscription mardi 28 octobre 2008 Statut Membre Dernière intervention 4 septembre 2020 44
2 juin 2009 à 14:58
J'ai trouvé une solution simple, j'ai mis la valeur "s'inscrire" et "s'identhifier" dans mes boutons submit et après je récupère cette valeur puis suivant ce qu'elle contient, je fais le traitement..

Sinon l'idée de <input type="hidden" name="page" value="1" /> est pas mal mais pour les sessions, je trouve que ça sert à rien.. :/

En tout cas merci de votre aide rapide.. :)

Je mets le topic en résolu
1
Utilisateur anonyme
2 juin 2009 à 15:00
=)
0
Jodu Messages postés 91 Date d'inscription mardi 5 février 2008 Statut Membre Dernière intervention 3 février 2010 14
2 juin 2009 à 14:35
Salut,

ton formulaire, il est declaré comment ?
<form method="post"> 
ou <form method="get">
?

Sur ton traitement, pour récupérer la valeur dans une variable, tu fait :
$page = $_POST['nom_de_ton_champ'] ;


Et pour traiter en fonction du résultat, tu fais avec des if.
0
ketro50 Messages postés 24 Date d'inscription jeudi 12 février 2009 Statut Membre Dernière intervention 4 mai 2013
4 mai 2013 à 14:42
comment fait t'on quand le nom du champ prend la valeur d'une variable.

je réalise un QCM a une seule réponse possible qui ce base sur la lecture d'une base de donné.

j'envoie la ligne suivante dans un formulaire

<input type=radio name=".$idQ." value=".$idR.">

$idQ est la valeur de l'id de la question dans ma table question et $idR et la valeur de l'id de la réponse dans ma table réponse.

seulement si je met en "dur"( $test = $_get['3']) en suposant que l'idQ sera une fois egale a 3.

comment je fait pour faire un truc du style ($test = $_get[$idQ] ) bien sur cette ligne est mis dans une boucle ou la valeur de idQ correspont bien a un id de ma table a chaque tour de boucle.
0

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

Posez votre question
C'est

$page = $_POST['page'];

et non

$page = $_POST['$page'];

..
0
Dans ton formulaire, initialise:

<input .. name="page" value="1" /> plutôt que <input .. name="$page" value="1" /> , comme tu sembles le dire.
0
Jodu Messages postés 91 Date d'inscription mardi 5 février 2008 Statut Membre Dernière intervention 3 février 2010 14
2 juin 2009 à 14:44
Biboo a raison, c'est l'attribut "name" de ton input qui est recupéré entre crochets dans la superglobale $_POST.

Si tu mets $page ça va planter car php va mal l'interpréter (je pense)
0
Jodu Messages postés 91 Date d'inscription mardi 5 février 2008 Statut Membre Dernière intervention 3 février 2010 14
2 juin 2009 à 14:50
Le but d'un formulaire est d'envoyer les données qu'un utilisateur saisit.

Je ne sais pas ce que tu veux faire, mais si tu veux faire passer un paramètre caché dont toi seul a le controle ut fais :
<input type="hidden" name="page" value="1" />
Après tu mets ton submit, puis en page 2:

$page = $_POST['page']

$page vaudra 1 ici.
0
Utilisateur anonyme
2 juin 2009 à 14:54
Salut,

La valeur d'une variable existe uniquement lors du chargement de la page, tel que si tu actualises ta page cette valeur est perdue.

Tu es obligé de passer par les sessions. Tu crées et initialise ta variable sur traitement.php et ensuite sur une autre page tu récupères sa valeur et tu supprimes la variable de session.

Exemple :

/*----------fichier traitement.php---------*/
<?php
session_start();

if(!isset($_SESSION['page']))
{
   $_SESSION['page'] = 1;
   echo "variable de session initialisée<br/><br/>";
}

?>
<a href="autre.php">Aller vers la page autre</a><br/>


/*----------fichier autre.php---------*/
<?php
session_start();

$valeur_page = -1;

if(isset($_SESSION['page'])) 
{
   $valeur_page = $_SESSION['page'];
   unset($_SESSION['page']);
}

echo "Valeur de page : <b>".$valeur_page."</b>";
?>
<br/><br/>
<a href="autre.php">Actualiser</a><br/>
<br/>
<a href="traitement.php">Aller vers la page traitement</a>


Tu exécutes traitement.php et ensuite tu vas vers autre.php.
Ta variable de session n'est valable qu'une seule fois, tu peux essayer d"actualiser autre.php, la 1ere fois elle vaut 1 et la deuxième -1 !


Sinon tu peux récupérer la valeur d'une variable qui est dans ton code et pas ailleurs. Au pire tu peux faire une redirection, tu rediriges de traitement.php vers autre.php mais en ajoutant des paramètres du genre
autre.php?page=1 et tu récupères cette variable avec un $_GET['page'].

Exemple :

/*----------fichier autre.php---------*/

<?php
$valeur_page = 0;
if(isset($_GET['page']))
{
	$valeur_page = $_GET['page'];
}

echo "Valeur de page : <b>".$valeur_page."</b>";

?>
<br/><br/>
<a href="autre.php">Actualiser</a><br/>
<br/>
<a href="traitement.php">Aller vers la page traitement</a>



/*----------fichier traitement.php---------*/

<?php

$val_page = 1;
echo '<a href="autre.php?page=1">Aller vers la page autre</a><br/>';

?>


Avec cette méthode le numéro de la page est affiché. Ensuite à toi de voir quel celui qui te convient le plus.


Voili voilou ^^
0
Utilisateur anonyme
2 juin 2009 à 14:55
Wahh j'ai été trop long à écrire mon post ^^
0
Jodu Messages postés 91 Date d'inscription mardi 5 février 2008 Statut Membre Dernière intervention 3 février 2010 14
2 juin 2009 à 14:56
Plus long, plus complet =D
0
Utilisateur anonyme
2 juin 2009 à 14:58
Ou pas ^^

Je ne sais plus ce qu'il veut !
0
Jodu Messages postés 91 Date d'inscription mardi 5 février 2008 Statut Membre Dernière intervention 3 février 2010 14
2 juin 2009 à 15:11
Euh, bah c'est moi qui avait pas compris vu qu'il voulait les sessions :p
0