PHP - Problème de réinitialisation de formulaire
10 messages • Page 1 sur 1
Consultez la formation au référencement naturel Google de WebRankInfo / Ranking Metrics
PHP - Problème de réinitialisation de formulaire
Bonjour, j'ai le problème suivant :
J'invite un utilisateur à entrer des information dans un formulaire.
Lorsque l'utilisateur envoie le formulaire, le php vérifie qu'il est bien rempli.
Si ce n'est pas le cas, le formulaire est réafficher en faisant en sorte que les lignes déjà rempli le reste.
Pour cela j'utilise ceci dans une feuille 'formu.php':
Maintenant, lorsque le formulaire est envoyé correctement, je voudrais qu'il se reinitialise.
Pour cela j'ai defini une variable $validation (à 0 quand le formulaire n'est pas envoyé et à 1) lorsqu'il l'est correctement et j'ai taper ceci :
Malheureusement, php n'accepte pas le
Si quelqu'un a une idée de comment résoudre ce problème-ci, pour que le formulaire fonctionne comme je le souhaite, je suis preneur.
D'avance merci pour vos réponses.
J'invite un utilisateur à entrer des information dans un formulaire.
Lorsque l'utilisateur envoie le formulaire, le php vérifie qu'il est bien rempli.
Si ce n'est pas le cas, le formulaire est réafficher en faisant en sorte que les lignes déjà rempli le reste.
Pour cela j'utilise ceci dans une feuille 'formu.php':
- Code: Tout sélectionner
<form action="index.php?cat=renseignements" method="post">
<table><tr><td>Nom: </td>
<td><input type="text" name="nom_contact" size="50" value="<?php echo $_POST['nom_contact'] ?>"/></td></tr>
<tr><td colspan="2" align="center"><input type="submit" value="Envoyer" name="connexion"></td></tr></table>
</form>
Maintenant, lorsque le formulaire est envoyé correctement, je voudrais qu'il se reinitialise.
Pour cela j'ai defini une variable $validation (à 0 quand le formulaire n'est pas envoyé et à 1) lorsqu'il l'est correctement et j'ai taper ceci :
- Code: Tout sélectionner
<?php
$validation = 0;
if ($_REQUEST['connexion']) {
if (testnom($_POST['nom_contact']) == 1) /* On teste que le nom est valide
$validation = envoie();
/* Si il est valide, la fonction 'envoie' dans la bdd et retourne la valeur 1*/
else
echo "Veuillez corriger le nom.";
}
if ($validation == 1)
$_POST['nom_contact'] = "";
/* on efface les données entrée car elles ont été envoyés */
include ('formu.php');
?>
Malheureusement, php n'accepte pas le
- Code: Tout sélectionner
$_POST['nom_contact'] = "";
Si quelqu'un a une idée de comment résoudre ce problème-ci, pour que le formulaire fonctionne comme je le souhaite, je suis preneur.
D'avance merci pour vos réponses.
Autrement tu fais une fonction à laquelle tu passes $validation et la chaine concernée:
Et voila
- Code: Tout sélectionner
<td><input type="text" name="nom_contact" size="50" value="<?php echo resetVar($_POST['nom_contact'],$validation); ?>"/></td></tr>
- Code: Tout sélectionner
function resetVar($chaine,$valid = true)
{
return $valid ? "" : $chaine;
}
Et voila
YoyoS a écrit:bah c'est normal que tu ne la connaissais pas. Je viens de la créerTu peux remplacer par le nom que tu veux je te rassure
Oui, je m'en suis appercu après avoir posté ... d'ou un petit edit discret de ma par juste après
Par contre j'avoue ne pas avoir beaucoup compris le 'Return' (enfin ce qu'il y a derrière) mais je me suis fait une version plus simple sans fonction. (C'est pour un projet dans le cadre d'un formation et je n'ai pas trop envie d'avoir l'air bête si on me demande d'expliquer ta fonction.)
- Code: Tout sélectionner
<td><input type="text" name="nom_contact" size="50" value="<?php if ($validation ==0) echo $_POST['nom_contact']; else echo ""; ?>"/></td></tr>
Encore merci.
C'est pour écrire un if else plus rapidement :
echo (condition) ? (si la condition est TRUE alors ça) : (sinon ça)
donc echo (1==1) ? "oui" : "non";
affichera oui car la condition est TRUE
et echo (1==2) ? "oui" : "non";
affichera non car la condition est FALSE
par exemple ton code peut s'écrire :
echo (condition) ? (si la condition est TRUE alors ça) : (sinon ça)
donc echo (1==1) ? "oui" : "non";
affichera oui car la condition est TRUE
et echo (1==2) ? "oui" : "non";
affichera non car la condition est FALSE
par exemple ton code peut s'écrire :
- Code: Tout sélectionner
<td><input type="text" name="nom_contact" size="50" value="<?php echo ($validation ==0) ? $_POST['nom_contact'] : ""; ?>"/></td></tr>
-

UsagiYojimbo - WRInaute accro

- Messages: 5227
- Inscription: Mer Nov 23, 2005 10:38
Généralement , j'ai une classe de traitement de formulaire (avec validation suivant des types prédéfinis, etc) qui me génère pour ma page les variable correspondantes aux champs (genre si j'ai un champ nom, après submit j'ai une variable $nom), ce qui permet de réinitialiser simplement les valeurs du formulaires (je ne fais jamais d'accès à $_POST directement).
10 messages • Page 1 sur 1
Formation recommandée sur ce thème :
Formation Référencement naturel Google : apprenez une méthode efficace pour optimiser à fond le référencement naturel dans Google de façon durable... Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.
Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.
Lectures recommandées sur ce thème :
- Google Code Jam 2003
- Référencement d'un forum phpBB
- Matt Cutts déclare la guerre au spamdexing en français (et autres langues)
- Commande site: sur Google et pages ignorées
- Comment éviter les contenus dupliqués (avec/sans le www)
- Du nouveau dans le Centre pour Webmasters de Live Search
- Comment résoudre les problèmes de Bourbon...
- Archive.org n'indexe plus rien depuis le 22 août 2008 ?
- Live Search corrige le problème de referrers
- Le détournement de page par redirection
Qui est en ligne
Utilisateurs parcourant ce forum: bee_human et 0 invités



le forum