Formulaire et PHP

xflagg Messages postés 25 Statut Membre -  
xflagg Messages postés 25 Statut Membre -
Bonjour,

je souhaite ajouter dans une page web un morceau de formulaire où l'internaute devra saisir une donnée dans un champs. Suivant la réponse qui aura été saisi, je voudrais que l'action "valider" rernvoi soit :
- vers une nouvelle page (si la réponse est bonne)
- soit rester sur la même page si la réponse est fausse.

Voici le code de mon fichier monformulaire.php

<?php

if (isset($_POST['reponse']) && $_POST['reponse'] == 'labonnereponse')
header('Location: verslebonfichier.php');
else
header('Location: monformulaire.php');

?>
<form name="formulaire" method="post" action="monformulaire.php">
<p><label for="saise">Saisir une réponse :</label>
<input type="text" id="saisie" name="saisie" size="30" /></p>
<p><input type="submit" name="soumission" value="Valider" /></p>
</form>

2 problèmes se posent :

- quelque soit la donnée saisie, le renvoi ne se fait pas
- jai le message d'erreur suivant qui apparait en haut de ma page
Warning: Cannot modify header information - headers already sent by (output started at c:\weblocal\site1\www\test2.php:4) in c:\weblocal\site1\www\test2.php on line9.

Merci d'avance de votre aide.

3 réponses

Chrisix Messages postés 60 Statut Membre 60
 
essaie ça...

<?php
if (isset($_POST['reponse'])) {
if ($_POST['reponse'] == 'labonnereponse') header('Location: verslebonfichier.php');
}
?>
<form name="formulaire" method="post">
<p><label for="saise">Saisir une réponse :</label>
<input type="text" name="reponse" size="30" value=<?php echo $_POST['reponse']?>"></p>
<p><input type="submit" value="Valider"></p>
</form>
0
xflagg Messages postés 25 Statut Membre
 
Merci beaucoup ca fonctionne bien :)
0
xflagg Messages postés 25 Statut Membre
 
Bonjour,

jai denouveau un soucis.
Je voudrais que la réponse saisie soit analysée comme suit :
- les majuscules sont transformées en minuscules (jy arrive avec la fonction strtolower();
- les caractères accentués sont remplacés par des non accentués (la fonction strtr me pose problème);

une fois ces deux fonctions appliquées je voudrais que la réponse saisie soit comparée à l'élèment attendu

<?php
if (isset($_POST['reponse'])) {
if ((strtolower($_POST['reponse'])=='réponse') && strtr($_POST['reponse']),"é","e") header('Location: suite.php');
else header('Location: index.php');}
?>

exemple si j'attends la réponse : reponse et que RéPonse est saisi :
srttolower transforme en réponse
et strtr trasforme en reponse.

ca fonctionne très bien seuleument avec le strtolower(), je plante au niveau du strtr.

merci davance de votre aide.
0