Rechercher : dans
Par :

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

Dernière réponse le 2 jun 2009 à 15:13:44 Absot, le 2 jun 2009 à 14:31:04 
 Signaler ce message aux modérateurs

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..

Configuration: Windows XP
Firefox 3.0.10

Meilleures réponses pour « Récupérer la valeur d'une variable php » dans :
[PHP] Notice: Undefined index: VoirSi vous utilisez les tableaux $_POST ou $_GET pour récupérer les variables de vos formulaires ou autres, il se peut que vous tombiez sur cette erreur: Notice: Undefined index 'champs du tableau' in 'chemin du fichier php en cours d'execution' on line...
PHP - Récupération de données VoirPHP rend très simple la récupération de données envoyées par l'intermédiaire de formulaires HTML. Création d'un formulaire Grâce à la balise FORM du langage HTML, il est très simple de créer des formulaires comprenant : des champs de saisie des...

1

Jodu, le 2 jun 2009 à 14:35:26

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.

Répondre à Jodu

2

Absot, le 2 jun 2009 à 14:39:05

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']; ?

Répondre à Absot

3

biboo, le 2 jun 2009 à 14:40:34

C'est

$page = $_POST['page'];

et non

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

..

Répondre à biboo

4

biboo, le 2 jun 2009 à 14:42:21

Dans ton formulaire, initialise:

<input .. name="page" value="1" /> plutôt que <input .. name="$page" value="1" /> , comme tu sembles le dire.

Répondre à biboo

5

Jodu, le 2 jun 2009 à 14:44:39

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)

Répondre à Jodu

6

Absot, le 2 jun 2009 à 14:46:53

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=?


-----------------------------------------------------------------------------------------------

Répondre à Absot

15

 biboo, le 2 jun 2009 à 15:13:44

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..

Répondre à biboo

7

Jodu, le 2 jun 2009 à 14:50:09

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.

Répondre à Jodu

8

ahmet0851, le 2 jun 2009 à 14:54:24

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 ^^ Si quelqu'un vous aide un merci et un résolu (petite case à droite de votre 1er message) !! 

Répondre à ahmet0851

9

ahmet0851, le 2 jun 2009 à 14:55:07

Wahh j'ai été trop long à écrire mon post ^^ Si quelqu'un vous aide un merci et un résolu (petite case à ­droite de votre 1er message) !! 

Répondre à ahmet0851

10

Jodu, le 2 jun 2009 à 14:56:38

Plus long, plus complet =D

Répondre à Jodu

11

ahmet0851, le 2 jun 2009 à 14:58:07

Ou pas ^^

Je ne sais plus ce qu'il veut ! Si quelqu'un vous aide un merci et un résolu (petite case à ­droite de votre 1er message) !! 

Répondre à ahmet0851

12

Absot, le 2 jun 2009 à 14:58:40

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

Répondre à Absot

13

ahmet0851, le 2 jun 2009 à 15:00:21

=) Si quelqu'un vous aide un merci et un résolu (petite case à ­droite de votre 1er message) !! 

Répondre à ahmet0851

14

Jodu, le 2 jun 2009 à 15:11:21

Euh, bah c'est moi qui avait pas compris vu qu'il voulait les sessions :p

Répondre à Jodu