Utilisateur anonyme
-
21 mars 2007 à 12:08
Utilisateur anonyme -
22 mars 2007 à 18:00
Bonjours a tous,
J'ai fait un site dans leque je fesais un include() qui incluaient de bas de page en fonction d'un argument dans l'url, exemple : index.php?menu=contact ouvre la page contact
ensuite j'ai eu besoin d'un deuxieme arguments, pour dire qu'un formulaire est validé par exemple, donc ca donnait un truc dans le genre:
index.php?menu=contact&confirme=yes
le système marchait bien et puis d'un coup je n'ai plus pu récupéré ce qui avant dans confirme ni même dans POST :/ le serveur étant le même je ne comprend pas trops...
Mais, pour reprendre le même exemple j'ai remarqué que lorsque je met contact.php?confirme=yes ca marche.
Je me demande si il n'est pas (plus) possible de récupérer un POST même si le code est compris dans un include
en effet FHX merci pour l'aide, j'ai enfin trouver le fond du problème... dans mon include je mettais l'url en entier avec http:// et tout, et aparament ca il faut pas trops :)
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 21 mars 2007 à 12:40
Bonjour,
personnellement je n'ai rien compris au problème.
en quoi ça est-ce un bug sur CodesSources ? puisque c'est là que tu postes !
par contre, les gens du php, pourraient probablement répondre facilement...
si tu leur donnes un peu plus d'élements !
$_GET['variable'] récupère les données envoyées par GET
$_POST['variable'] ceux pat POST
un include n'a rien à voir ?
c'est insérer les lignes du fichier donné là où l'ordre est mis.
oui en effet, bon je poste le code je pense que ca serras plus claire
pour aller sur ce formulaire il faut tapper index.php?menu=demande, enfait index c'est le menu du haut avec un include qui prend ce qu'il y à dans $_GET['menu']
if (empty($name))
{
echo "Vous devez entrer votre nom.
";
$itsok = 1;
}
if (empty($email))
{
echo "Vous devez entrer votre email.
";
$itsok = 1;
}
if (empty($pass))
{
echo "Vous devez entrer votre mot de passe.
";
$itsok = 1;
}
if (empty($passverif))
{
echo "Vous devez confirmé votre mot de passe.
";
$itsok = 1;
}
if ($pass<>$passverif){
echo "Les mots de passe ne correspondent pas.";
$itsok = 1;
}
if ($itsok == 0){
echo "C'est bon :).
";
}
}
?>
Adresse Email
" type="text" name="email" size=30>
Pseudo
" type="text" name="name" size=30>
Mot de passe
" type="password" name="pass" size=30>
Confirmation mot de passe
" type="password" name="passverif" size=30>
,
Quand je clique sur Submit il va bien sur l'url index.php?menu=demande&confirme=yes, mais quand je veux récupéré avec $_GET['confirme'] il ne trouve rien.
Par contre si je vais directement sur demande.php?confirme=yes, alors il trouves ce qu'il y à dans $_GET['confirme'] et peut commencer la vérification de formulaire..
Si vous avez un piste je vous écoute :)
cs_morpheus57
Messages postés121Date d'inscriptionvendredi 31 mars 2006StatutMembreDernière intervention30 décembre 2010 21 mars 2007 à 16:16
Alors si je peux te donner plusieurs conseils, je dirais ceci :
<ol><li>Utiliser <?php au lieu de <?</li><li>Mettre les balyses html en minuscules</li><li>tester les variables de ton tableau $_POST avec des condition du style :
$name = isset ($_POST['name']) ? $_POST['name'] : '';</li></ol>Après ces changements, j'ai testé ton script et là ...... ça marche.
merci morpheus57 pour tes conseils, ceci dit ca ne marche toujours pas enfait le scrit marche chez moi aussi sauf quand je passe par index.php?menu=demande
si ca peut aider à comprendre :
ducoup j'ai voulu tester directement demande.php et le script marche niquel
http://www.alxia.fr/demande.php?confirme=yes là GET marche (toujours pas POST mais là c'est normal j'ai tappé l'URL directement)