Récupérer la valeur d'une variable php [Résolu/Fermé]

Signaler
Messages postés
778
Date d'inscription
mardi 28 octobre 2008
Statut
Membre
Dernière intervention
4 septembre 2020
-
Messages postés
24
Date d'inscription
jeudi 12 février 2009
Statut
Membre
Dernière intervention
4 mai 2013
-
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

Messages postés
778
Date d'inscription
mardi 28 octobre 2008
Statut
Membre
Dernière intervention
4 septembre 2020
42
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
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 65492 internautes nous ont dit merci ce mois-ci

Messages postés
778
Date d'inscription
mardi 28 octobre 2008
Statut
Membre
Dernière intervention
4 septembre 2020
42
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
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 65492 internautes nous ont dit merci ce mois-ci

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..
Messages postés
778
Date d'inscription
mardi 28 octobre 2008
Statut
Membre
Dernière intervention
4 septembre 2020
42
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
Utilisateur anonyme
=)
Messages postés
89
Date d'inscription
mardi 5 février 2008
Statut
Membre
Dernière intervention
3 février 2010
14
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.
Messages postés
24
Date d'inscription
jeudi 12 février 2009
Statut
Membre
Dernière intervention
4 mai 2013

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.
C'est

$page = $_POST['page'];

et non

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

..
Dans ton formulaire, initialise:

<input .. name="page" value="1" /> plutôt que <input .. name="$page" value="1" /> , comme tu sembles le dire.
Messages postés
89
Date d'inscription
mardi 5 février 2008
Statut
Membre
Dernière intervention
3 février 2010
14
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)
Messages postés
89
Date d'inscription
mardi 5 février 2008
Statut
Membre
Dernière intervention
3 février 2010
14
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.

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 ^^
Utilisateur anonyme
Wahh j'ai été trop long à écrire mon post ^^
Messages postés
89
Date d'inscription
mardi 5 février 2008
Statut
Membre
Dernière intervention
3 février 2010
14
Plus long, plus complet =D
Utilisateur anonyme
Ou pas ^^

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