[PHP] methode GET

guy2mars -  
Bilow Messages postés 1193 Statut Membre -
Bonjour,

j'ai appris lors de mes posts précédents que la methode GET dans 1 form permettait de communiquer les variables de pages en pages.
Or, je cree un form en page A avec method="get" et action page B
en page B, je récupère mes données et les inscrits dans des tables sql. Ca ca marche.
en fin de page B, je place un header qui m'envoie en page C .... ca ca marche aussi.
mais je ne récupère aucune variables en C... Comment puis je transmettre mes variables de A en C ou comment les transmettre de B en C vu qu'en B, il n'y a que du code mysql?
merci d'avance pour vos contributions



A voir également:

3 réponses

Bertrand40 Messages postés 1196 Date d'inscription   Statut Membre Dernière intervention   194
 
Bonsoir,

Je ne suis pas sûr d'avoir vraiment compris mais tu peux récupérer tes variables par :
- GET
- POST
- requête mysql.

Comment est-ce que tu essaies de récupérer tes variables dans la dernière phase ?


@+
Le jambon de Bayonne c'est bon ! Non, disons que personnellement je trouve ça bon.
0
guy2mars
 
je pense que tu n'as pas apprécié mon problème : voici mes bouts de code :
PAGE A :
<form method="get" action="bdd_inscription.php">
<div align="center" style="color: purple"><b>IDENTIFICATION </b></div>
<table align="center" border="1">
<tr>
<td>
Nom : <input type="text" name="nom" size="40" maxlength="40">
</td>
<td>
Prénom : <input type="text" name="prenom" size="20" maxlength="20">
</td>
</tr>
<tr>
<td colspan="2" align="center">
Numéro de licence FFV :<input type="text" name="licence" size="15" maxlength="15">
</td>
</tr>
<tr>
<td colspan="2" align="justify">
Adresse :<input type="text" name="adresse" size="40" maxlength="100">
</td>
</tr>
<tr>
<td colspan="2" align="justify">
Complément d'adresse :<input type="text" name="cpl_adresse" size="40" maxlength="100">
</td>
</tr>
<tr>
<td>
Code postal :<input type="text" name="cp" size="5" maxlength="5">
</td>
<td>
Ville : <input type="text" name="ville" size="40" maxlength="40">
</td>
</tr>
<tr>
<td>
Téléphone : <input type="text" name="tel" size="10" maxlength="10">
</td>
<td>
E_mail : <input type="text" name="mail" size="35" maxlength="40">
</td>
</tr>

PAGE B

<?php
$annee=date('Y');
$id_connect = mysql_pconnect($base(),$login(),$mdp());
if($id_connect ==0)
{
echo "Erreur Connexion DB";
}
$id_table = mysql_select_db ("vvv");
//ON VERIFIE SI N EST PAS DEJA INSCRIT POUR CETTE ANNEE
$requete="select num from inscrits where nom='$nom' and prenom='$prenom' and annee='$annee'";
$result=mysql_query($requete);
$ligne=mysql_num_rows($result);
if ($ligne >0)
{
echo "<div align='center'>déjà inscrit dans la base <br>";
echo "<a href='modif_equipage.php'>Merci de passer en mode modification <br>En cliquant sur ce lien</a></div>";
}
else
{
........ etc .......
en fin de page
header ("location:./suite_inscription.php");
?>
en PAGE C :


<?php
echo ($_GET);
?>
<html>
<body>
suite inscription
<?php
echo "nom : ".$nom."Prenom ".$prenom;
?>
</body>
</html>
ET LA, RIEN NE SORT DU $_GET
comment faire ?
merci
0
Bertrand40 Messages postés 1196 Date d'inscription   Statut Membre Dernière intervention   194
 
Si l'inscription n'est pas d'un membre connu donc, tu passes au else et tu rediriges vers suite_inscription.php sans envoyer aucune variable, donc la page suite_inscription.php n'aura aucune variable à se mettre sous la dent. Il te faudrait une redirection du genre :

header ("location:./suite_inscription.php?nom=xxxx&prenom=yyyy");
0
guy2mars
 
ok, je te remercie, c'est de cette syntaxe que j'avais besoin....
je récupère pour l'instant une de ces données. j'ai un msg array mais je pense que j'arriverai à retrouver mes billes
merci
0
JooS Messages postés 2468 Date d'inscription   Statut Membre Dernière intervention   228
 
c'est quoi au juste ton idée, tu veut faire un formulaire d'inscription en plusieurs étapes??
0
Bertrand40 Messages postés 1196 Date d'inscription   Statut Membre Dernière intervention   194
 
Oui Joos. Guy2mars, tu pourrais en effet faire plus simple, sans passer par toutes ces pages.
0
JooS Messages postés 2468 Date d'inscription   Statut Membre Dernière intervention   228
 
Ben les sessions sont la pour ce genre de système, c'est plus pratique de les utiliser??
0
Bilow Messages postés 1193 Statut Membre 117
 
Salut,

Pour transférer de page en page, il est en effet plus pratique d'utiliser les sessions.

Pour faire passer par la méthode GET, tu peux transformer $_GET en chaine et utiliser header() :

$chaine = "";
foreach($_GET as $name => $value){
$chaine .= $name . "=" . $value . "&";
}
header("Location: pageC.php?".$chaine);


Mais les données de ton formulaire ne pourront contenir de '=' ni de '&'. C'est justement pour éviter ce problème que je te conseille les sessions. Il y a un bon tutoriel sur le Site du Zero. Avec cela, tu auras :

Page B
<?php
session_start();
// On a $_GET, on stocke
$_SESSION['donnees_recues'] = $_GET;
header("Location: pageC.php");
?>

Page C
<?php
session_start();
// On récupère l'ancien $_GET
$_GET = $_SESSION['donnees_recues'];
// Et voilà !
?>

C'est quand-même plus simple, non ? ;)
0