Vérification des champs et message
Résolu/Fermé
animostab
Messages postés
2829
Date d'inscription
jeudi 10 mars 2005
Statut
Membre
Dernière intervention
11 novembre 2019
-
14 avril 2014 à 04:02
animostab Messages postés 2829 Date d'inscription jeudi 10 mars 2005 Statut Membre Dernière intervention 11 novembre 2019 - 15 avril 2014 à 01:01
animostab Messages postés 2829 Date d'inscription jeudi 10 mars 2005 Statut Membre Dernière intervention 11 novembre 2019 - 15 avril 2014 à 01:01
A voir également:
- Vérification des champs et message
- Message - Guide
- Recuperer message whatsapp supprimé - Guide
- Message d'absence thunderbird - Guide
- Vérification url - Guide
- Messenger me dit que j'ai un message alors que non - Forum Facebook Messenger
4 réponses
Pitet
Messages postés
2826
Date d'inscription
lundi 11 février 2013
Statut
Membre
Dernière intervention
21 juillet 2022
525
14 avril 2014 à 16:30
14 avril 2014 à 16:30
Salut,
Tu dois ajouter une condition pour savoir si le formulaire a été envoyé ou non.
Tu peux facilement le faire en vérifiant la présence du paramètre de ton bouton submit :
Dans le formulaire :
Dans ton code php :
Bonne journée
Tu dois ajouter une condition pour savoir si le formulaire a été envoyé ou non.
Tu peux facilement le faire en vérifiant la présence du paramètre de ton bouton submit :
Dans le formulaire :
<form action="" method="post"> <input type="text" name="pseudo" /> <textarea name="message"></textarea> <input type="submit" name="envoi" value="Envoyer" /> </form>
Dans ton code php :
// si le paramètre $_POST['envoi'] existe, le formulaire a été soumis // sinon on ne fait rien : premier chargement de la page if (!empty($_POST['envoi'])) { if (!empty($_POST['pseudo']) && !empty($_POST['message'])) { } else { echo '<h1>Votre commentaire n\'a pas été posté</h1><p>Vous devez remplir tous les champs du formulaire</p>'; } }
Bonne journée
joebuz
Messages postés
39
Date d'inscription
dimanche 11 novembre 2012
Statut
Membre
Dernière intervention
14 avril 2014
4
14 avril 2014 à 09:28
14 avril 2014 à 09:28
Bonjour,
Essaye ça :
if ((empty($_POST['pseudo'])) && (empty($_POST['message'])))
{
$pseudo = htmlspecialchars($_POST['pseudo']);
$message = htmlspecialchars(nl2br($_POST['message']));
$date = date('Y-m-d') ."\n";
$link = mysql_connect("localhost", "mysql_user", "mysql_password") or die ("Impossible de se connecter : " . mysql_error());
$sql = "INSERT INTO livre_or VALUES('', '$pseudo','$date', '$message')";
$req = mysql_query($sql, $link) or die( "ERREUR MYSQL: ".mysql_error()."<br>".$req."<br>\n" )
}
else {
echo '<h1>Votre commentaire n\'a pas été posté</h1><p>Vous devez remplir tous les champs du formulaire</p>';
}
Essaye ça :
if ((empty($_POST['pseudo'])) && (empty($_POST['message'])))
{
$pseudo = htmlspecialchars($_POST['pseudo']);
$message = htmlspecialchars(nl2br($_POST['message']));
$date = date('Y-m-d') ."\n";
$link = mysql_connect("localhost", "mysql_user", "mysql_password") or die ("Impossible de se connecter : " . mysql_error());
$sql = "INSERT INTO livre_or VALUES('', '$pseudo','$date', '$message')";
$req = mysql_query($sql, $link) or die( "ERREUR MYSQL: ".mysql_error()."<br>".$req."<br>\n" )
}
else {
echo '<h1>Votre commentaire n\'a pas été posté</h1><p>Vous devez remplir tous les champs du formulaire</p>';
}
animostab
Messages postés
2829
Date d'inscription
jeudi 10 mars 2005
Statut
Membre
Dernière intervention
11 novembre 2019
737
Modifié par animostab le 14/04/2014 à 13:57
Modifié par animostab le 14/04/2014 à 13:57
merci de ta réponse mais ca ne marche pas
virgule absente après
$req = mysql_query($sql, $link) or die( "ERREUR MYSQL: ".mysql_error()."<br>".$req."<br>\n" )
pas de base sélectionnée
après avoir corrigé de la manière suivante ca affiche toujours le echo dans else{ au chargement de la page donneravis.php
<form action="donneravis.php" method="post">
Prénom/Nom :
<input name="pseudo"><br>
Message :<br />
<textarea name="message" rows="8" cols="35"></textarea><br />
<input name="grand" id="pasla">
<input type="submit" value="Envoyer" class="bouton">
</form>
<?php
if ((empty($_POST['pseudo'])) && (empty($_POST['message'])) && (!empty($_POST['grand'])))
{
$pseudo = htmlspecialchars($_POST['pseudo']);
$message = htmlspecialchars(nl2br($_POST['message']));
$date = date('Y-m-d') ."\n";
$link = mysql_connect("127.0.0.1", "root", "password");
$ret = mysql_select_db ('clownphp', $link)
or die ("Impossible de se connecter : " . mysql_error());
$sql = "INSERT INTO livre_or VALUES('', '$pseudo','$date', '$message')";
$req = mysql_query($sql, $link) or die( "ERREUR MYSQL: ".mysql_error()."<br>".$req."<br>\n" );
}
else {
echo '<h1>Votre commentaire n\'a pas été posté</h1><p>Vous devez remplir tous les champs du formulaire</p>';
}
?>
pour info le input name="grand" est caché par css et si il est rempli (par un co...rd de robot) le message n'est pas envoyé.
bon j'ai contourné le problème en traitant le formulaire sur une autre page si c'est ok ca envoie vers l'affichage des posts sinon ca renvoi au formulaire mais je ne sais toujours pas pourquoi le message s'affiche au chargement de page
PS je tourne avec easyphp 5.3.2
Un petit merci vaut mieux qu'une grande ignorance !
Donc si votre sujet est résolu une réponse avec merci c'est pas de refus.
virgule absente après
$req = mysql_query($sql, $link) or die( "ERREUR MYSQL: ".mysql_error()."<br>".$req."<br>\n" )
pas de base sélectionnée
après avoir corrigé de la manière suivante ca affiche toujours le echo dans else{ au chargement de la page donneravis.php
<form action="donneravis.php" method="post">
Prénom/Nom :
<input name="pseudo"><br>
Message :<br />
<textarea name="message" rows="8" cols="35"></textarea><br />
<input name="grand" id="pasla">
<input type="submit" value="Envoyer" class="bouton">
</form>
<?php
if ((empty($_POST['pseudo'])) && (empty($_POST['message'])) && (!empty($_POST['grand'])))
{
$pseudo = htmlspecialchars($_POST['pseudo']);
$message = htmlspecialchars(nl2br($_POST['message']));
$date = date('Y-m-d') ."\n";
$link = mysql_connect("127.0.0.1", "root", "password");
$ret = mysql_select_db ('clownphp', $link)
or die ("Impossible de se connecter : " . mysql_error());
$sql = "INSERT INTO livre_or VALUES('', '$pseudo','$date', '$message')";
$req = mysql_query($sql, $link) or die( "ERREUR MYSQL: ".mysql_error()."<br>".$req."<br>\n" );
}
else {
echo '<h1>Votre commentaire n\'a pas été posté</h1><p>Vous devez remplir tous les champs du formulaire</p>';
}
?>
pour info le input name="grand" est caché par css et si il est rempli (par un co...rd de robot) le message n'est pas envoyé.
bon j'ai contourné le problème en traitant le formulaire sur une autre page si c'est ok ca envoie vers l'affichage des posts sinon ca renvoi au formulaire mais je ne sais toujours pas pourquoi le message s'affiche au chargement de page
PS je tourne avec easyphp 5.3.2
Un petit merci vaut mieux qu'une grande ignorance !
Donc si votre sujet est résolu une réponse avec merci c'est pas de refus.
benj21000
Messages postés
8
Date d'inscription
lundi 14 avril 2014
Statut
Membre
Dernière intervention
14 avril 2014
14 avril 2014 à 15:36
14 avril 2014 à 15:36
Bonjour à la place de !empty essaye isset($post...)
animostab
Messages postés
2829
Date d'inscription
jeudi 10 mars 2005
Statut
Membre
Dernière intervention
11 novembre 2019
737
Modifié par animostab le 14/04/2014 à 16:07
Modifié par animostab le 14/04/2014 à 16:07
il me semble que isset regarde si une variable est définie, pas si elle est vide ou remplie
donc il me semble que isset meme avec un champs vide validera et enverra le formulaire non ?
dites moi si je me trompe.
mais bon j'ai déjà contourner mon problème avec1 page de traitement intermédiaire et redirection header suivant le test avec empty et la ca fonctionne
donc il me semble que isset meme avec un champs vide validera et enverra le formulaire non ?
dites moi si je me trompe.
mais bon j'ai déjà contourner mon problème avec1 page de traitement intermédiaire et redirection header suivant le test avec empty et la ca fonctionne
benj21000
Messages postés
8
Date d'inscription
lundi 14 avril 2014
Statut
Membre
Dernière intervention
14 avril 2014
14 avril 2014 à 16:11
14 avril 2014 à 16:11
si à la base le formulaire était sur la même page que la vérification effectivement, il faut faire une page temporaire, ou le faire en ajax. Isset va vérifier si ta variable est définie donc qu'elle existe et si elle est différente de null donc contenant au moins 1 caractère qui peux être un espace d'ailleur si aucune vérif n'a été faite
animostab
Messages postés
2829
Date d'inscription
jeudi 10 mars 2005
Statut
Membre
Dernière intervention
11 novembre 2019
737
Modifié par animostab le 15/04/2014 à 00:52
Modifié par animostab le 15/04/2014 à 00:52
exact c'était dans la meme page donc au chargement les champs sont vides d'ou le message de champs vides (je suis bete de ne pas y avoir pensé plus tot). c'est pour ca que j'ai fait le traitement du formulaire dans une autre page
15 avril 2014 à 01:01
je test quand je rentre chez moi (dans 2 jours) mais ca m'a l'air d'une logique implacable
Merci Pitet