Problème php
RésoluepsiloneIB Messages postés 134 Statut Membre -
J'ai un petit problème dans mon code php enfaite je voudrais qu'une personne quand elle choisie enregistré elles puissent accède à la page enregister.php et quand elle choisi modifier elle accède a la page modif.php le probléme c'est que ça ne prend pas en compte le if
je vous balance mon code
<html>
<body>
<h1>Bienvenue a la page d'acceuil</h1><br>
Que voulez vous faire ?<br>
<form name="choix" method="radio" action="vchoix.php">
Enregistrer vos informations   <input type="radio" name="choix" value="enregistre">
<br>
Modifier vos informations     <input type="radio" name="choix" value="modifier"><br><br>
<input name="choix" type="submit" value="Envoyer">
</form>
</html>
et mon code php
<?
$choix==$_POST['choix'];
if ( $choix=="enregistre")
{
include ('formulaire.php')
}
else {
include ('modif.php')
}
?>
merci de votre aide
Configuration: Windows XP Firefox 2.0.0.14
26 réponses
- 1
- 2
Problème rencontré : un formulaire PHP utilise des boutons radio pour diriger vers formulaire.php ou modif.php en fonction du choix enregistré, mais le code échoue à exécuter la condition, ce qui empêche la redirection correcte. Parmi les solutions proposées, il est recommandé d'utiliser method='POST' sur le formulaire, d'affecter correctement la valeur avec $choix = $_POST['choix']; et de tester isset($_POST['choix']) avant la comparaison pour orienter vers formulaire.php ou modif.php. Des variantes évoquent l'inclusion directe du fichier choisi ou l'utilisation d'un champ caché, mais la pratique recommandée reste de valider l'entrée et d'appliquer une structure conditionnelle claire pour l'acheminement.
-
dans ton form remplace
method="radio"
par
method="POST"
-
pourquoi tu veux pas de champ texte ? il n'a qu'à être invisible non?
voilà en tout cas qqch qui marche (testé !)
la page accueil.php :
<?
echo "
<h1>Bienvenue a la page d'acceuil</h1><br>
Que voulez vous faire ?<br>
Enregistrer vos informations
<input type=radio name=choix onclick=document.getElementById('valeur').value='enregistre'>
<br>
Modifier vos informations
<input type=radio name=choix onclick=document.getElementById('valeur').value='modifier'><br><br>
<form method=post action=vchoix.php>
<input type=hidden id=valeur name=valeur>
<input type=submit value='envoyer'>
</form>
";
?>
la page vchoix.php :
<?
$choix="";
if(isset($_POST['valeur'])){$choix=$_POST['valeur'];};
echo "j'inclus ici la page $choix";
?> -
-
C'est un include.
include("enregistre.php");
include("modif.php");
Epsilone -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
$choix==$_POST['choix'];
Là il ne va que comparer. Pour affecter il ne faut qu'un = -
Bonjour,
Hum, déjà tu à plein de truc qui s'appelle 'choix' (le form, le radio, un bouton)
C'est pas top top.
Ensuite quand tu dit que ca ne prend pas en compte le if, peut tu détailler ce qui ta fait arriver a cette conclusion ? -
-
Les bouton radio doivent avoir le même "name"
Les erreur sont celle que j'ai souligné plus haut
et celle qu'a souligné MrSlave sur l'affectation de ta variable
Et sa devrai être bon
-
je ne peu pas enlever mon radio et le remplacer par un post les personnes on le choix entre enregistre et modifier
-
<html>
<body>
<h1>Bienvenue a la page d'acceuil</h1><br>
Que voulez vous faire ?<br>
<form name="formChoix" method="POST" action="vchoix.php">
Enregistrer vos informations <input type="radio" name="choix" value="enregistre">
<br>
Modifier vos informations <input type="radio" name="choix" value="modifier"><br><br>
<input name="btnChoix" type="submit" value="Envoyer">
</form>
</html>
Et le PHP
<?
$choix=$_POST['choix'];
if ( $choix=="enregistre")
{
include ('formulaire.php');
}
else
{
include ('modif.php');
}
?>
voila le code corrigé normalement.
"method" c'est le mode de passage des variables
-
non Mimiste sa ne marche pas sa m'envoie la même page a chaque fois on dirai qu'il n'entre pas dans le if
-
mets ça sur ta page d'accueil :
<html>
<body>
<h1>Bienvenue a la page d'acceuil</h1><br>
Que voulez vous faire ?<br>
<form name="choix" method="radio" action="vchoix.php">
Enregistrer vos informations <input type="radio" name="choix"
onclick=document.getElementById('choix').value="enregistre">
<br>
Modifier vos informations
<input type="radio" name="choix" onclick=document.getElementById('choix').value='modifier'><br><br>
<input name="choix" type="submit" 'envoyer'>
<input type=text id=choix>
</form>
</html>
sur ta page vchoix.php tu récupères les données :
$choix=$_POST['choix']
puis ton code avec tes if choix== -
-
-
-
j'ai pas compris tom novembre pourquoi ta fait un input . moi je donne un choix au personne et quand il clique sur dans enregistre sa leurs affiche la page enregistré et quand la meme chose pour modifier et je veut pas de champ text
-
-
-
-
Bonjour,
Pour ton HTML :
1. Réécris la syntaxe de ta forme
2. Change le name de ton submit
<html>
<body>
<h1>Bienvenue a la page d'acceuil</h1><br>
Que voulez vous faire ?<br>
<form action='vchoix.php' method='post'>
Enregistrer vos informations <input type="radio" name="choix" value="enregistre">
<br>
Modifier vos informations <input type="radio" name="choix" value="modifier"><br><br>
<input name="envoyer" type="submit" value="Envoyer">
</form>
</html>
Pour ton PHP :
1. Au lieu de faire une égalité, fait une affectation, pourque la variable ait une valeur
$choix= $_POST['choix'];
Bon courage
Epsilone -
di moi tom comment je fait pour que ma page s ouvre directement au lieu de mettre un message
et merci a epsiloneIB et a Mimisteg pour ton aide comme au autre -
-
- 1
- 2