Problème de vérification d'envoi de message via site
Fermé
jimmy1120112
Messages postés
619
Date d'inscription
mardi 30 novembre 2010
Statut
Membre
Dernière intervention
7 décembre 2014
-
Modifié par jimmy1120112 le 27/04/2014 à 21:26
jimmy1120112 Messages postés 619 Date d'inscription mardi 30 novembre 2010 Statut Membre Dernière intervention 7 décembre 2014 - 8 mai 2014 à 08:28
jimmy1120112 Messages postés 619 Date d'inscription mardi 30 novembre 2010 Statut Membre Dernière intervention 7 décembre 2014 - 8 mai 2014 à 08:28
A voir également:
- Problème de vérification d'envoi de message via site
- Message - Guide
- Site de telechargement - Accueil - Outils
- Site comme coco - Accueil - Réseaux sociaux
- Site de vente en ligne particulier - Guide
- Recuperer message whatsapp supprimé - Guide
5 réponses
Pitet
Messages postés
2826
Date d'inscription
lundi 11 février 2013
Statut
Membre
Dernière intervention
21 juillet 2022
525
Modifié par Pitet le 28/04/2014 à 12:20
Modifié par Pitet le 28/04/2014 à 12:20
Salut,
Premièrement les deux conditions suivantes sont identiques :
La fonction empty vérifie également l'existence de la variable, tu peux donc simplifier tes tests en utilisant uniquement empty.
L'erreur vient surement du nom de ton input. La valeur 'hidden' doit correspondre au type de l'input si il s'agit d'un champ caché.
Dans ton formulaire :
dans ton traitement php :
Bonne journée
Premièrement les deux conditions suivantes sont identiques :
if (isset($_POST['hidden']) && !empty($_POST['hidden']))équivaut à
if (!empty($_POST['hidden']))
La fonction empty vérifie également l'existence de la variable, tu peux donc simplifier tes tests en utilisant uniquement empty.
L'erreur vient surement du nom de ton input. La valeur 'hidden' doit correspondre au type de l'input si il s'agit d'un champ caché.
Dans ton formulaire :
<form> <input type="hidden" name="antispam" value="1" /> </form>
dans ton traitement php :
if (!empty($_POST['antispam']))
Bonne journée
jimmy1120112
Messages postés
619
Date d'inscription
mardi 30 novembre 2010
Statut
Membre
Dernière intervention
7 décembre 2014
54
Modifié par jimmy1120112 le 29/04/2014 à 06:25
Modifié par jimmy1120112 le 29/04/2014 à 06:25
Bonjour et merci d'avoir répondu au sujet,
J'ai modifié ce que vous m'avez conseillé mais malheureusement le message ne parviens toujours pas à être envoyé.
Bizarrement si je retire tout le reste pour n'ajouté que la vérification du numéro de téléphone par exemple, cela suffit pour que le message ne soit pas envoyé.
Je ne sais donc pas si c'est vraiment le code en lui même qui dérange ou la façon dont à été fait la structure qui ne permet pas de supporter ces vérifications...
Ce n'est que mon sentiment car en php je touche un peu mais pas suffisamment pour détecter et corriger une erreur...
Merci encore !
Cordialement.
Jim
J'ai modifié ce que vous m'avez conseillé mais malheureusement le message ne parviens toujours pas à être envoyé.
Bizarrement si je retire tout le reste pour n'ajouté que la vérification du numéro de téléphone par exemple, cela suffit pour que le message ne soit pas envoyé.
Je ne sais donc pas si c'est vraiment le code en lui même qui dérange ou la façon dont à été fait la structure qui ne permet pas de supporter ces vérifications...
Ce n'est que mon sentiment car en php je touche un peu mais pas suffisamment pour détecter et corriger une erreur...
Merci encore !
Cordialement.
Jim
Pitet
Messages postés
2826
Date d'inscription
lundi 11 février 2013
Statut
Membre
Dernière intervention
21 juillet 2022
525
29 avril 2014 à 14:06
29 avril 2014 à 14:06
Si toutes tes vérifications fonctionnent sauf pour le numéro de téléphone, c'est surement que celui-ci ne correspond pas à l'expression régulière définie (preg_match).
Essaye sans l'expression régulière pour voir si le problème vient bien de là, si oui il faudra corriger cette expression.
Essaye sans l'expression régulière pour voir si le problème vient bien de là, si oui il faudra corriger cette expression.
jimmy1120112
Messages postés
619
Date d'inscription
mardi 30 novembre 2010
Statut
Membre
Dernière intervention
7 décembre 2014
54
30 avril 2014 à 15:59
30 avril 2014 à 15:59
Bonjour Pitet, je test ce soir et je vous tien au courant, merci !
jimmy1120112
Messages postés
619
Date d'inscription
mardi 30 novembre 2010
Statut
Membre
Dernière intervention
7 décembre 2014
54
Modifié par jimmy1120112 le 30/04/2014 à 22:16
Modifié par jimmy1120112 le 30/04/2014 à 22:16
Re-bonjour Pitet ;)
Je viens d'essayé comme ceci :
Mais le problème est le même, en le modifiant avec DW (DreamWeaver) il m'a indiqué que ces lignes comportait une erreur. Peut-être l'ai-je mal rédigé ?
Attention que j'ai bien dit "par exemple" donc que je ne mette que la vérification pour le nom ou mail ou nom et mail ou autre combinaison le problème est le même du moment que le code simple est modifié.
Merci encore pour vos réponses, je continu de creuser de mon coté.
Cordialement.
Jim
Je viens d'essayé comme ceci :
if ( isset($_POST['hidden']) && !empty($_POST['hidden'])) {
$errors[] = "désolé vous êtes un robot";}
if (!$name) $errors[count($errors)] = 'Entrez votre nom';
if ('/^[a-zA-Z\-\ ]{2,30}$/', $name) {
$errors[] = "Nom invalide";}
if (!$email) $errors[count($errors)] = 'Entrez votre email.';
if ("/([\w\-]+\@[\w\-]+\.[\w\-]+)/",$email) {
$emailErr = "Mail invalide";}
if (!$numero) $errors[count($errors)] = 'Entrez votre numero.';
if ('^[0-9]{9,13}[0-9]$', $numero) {
$errors[] = "numéro invalide";}
if (!$comment) $errors[count($errors)] = 'Entrez votre texte.';
if (!$errors) {
Mais le problème est le même, en le modifiant avec DW (DreamWeaver) il m'a indiqué que ces lignes comportait une erreur. Peut-être l'ai-je mal rédigé ?
Attention que j'ai bien dit "par exemple" donc que je ne mette que la vérification pour le nom ou mail ou nom et mail ou autre combinaison le problème est le même du moment que le code simple est modifié.
Merci encore pour vos réponses, je continu de creuser de mon coté.
Cordialement.
Jim
jimmy1120112
Messages postés
619
Date d'inscription
mardi 30 novembre 2010
Statut
Membre
Dernière intervention
7 décembre 2014
54
3 mai 2014 à 10:34
3 mai 2014 à 10:34
Up ?
Pitet
Messages postés
2826
Date d'inscription
lundi 11 février 2013
Statut
Membre
Dernière intervention
21 juillet 2022
525
5 mai 2014 à 09:29
5 mai 2014 à 09:29
Oui tu as une erreur de syntaxe : tu as oublié d'utiliser la fonction preg_match dans tes conditions :
à remplacer par
if ('/^[a-zA-Z\-\ ]{2,30}$/', $name)
à remplacer par
if (preg_match('/^[a-zA-Z\-\ ]{2,30}$/', $name))
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
jimmy1120112
Messages postés
619
Date d'inscription
mardi 30 novembre 2010
Statut
Membre
Dernière intervention
7 décembre 2014
54
8 mai 2014 à 08:28
8 mai 2014 à 08:28
Merci pitet,
Désoler, j'avais mal compris.
Je pensais que c'était justement preg_match qui dérangeais.
En reprenant le chemin depuis le début, dite moi si je me trompe mais voici quelques points qui me titille :
1) Je pense que si le nom dans la form du fichier html n'est pas le même que dans le le fichier php d'envoi, la vérification ne se fait pas et donc erreur.
2) Dans la récupération des données il n'y a pas ce champs d'indiquer, selon moi, ci les données ne sont pas récupéré la vérification ne peux s'effectuer donc erreur.
3) Un autre point mais qui viens de m'échapper... Je vous dirais si il me reviens.
Pour pouvoir savoir ou j'en suis et pourquoi ça ne fonctionne pas voici les code :
1) La form dans le fichier html :
2) Le code du fichier php avec la récupération de données :
Merci de votre présence, je continu de chercher et si quelque chose change je vous le poste de suite.
Merci encore !
Désoler, j'avais mal compris.
Je pensais que c'était justement preg_match qui dérangeais.
En reprenant le chemin depuis le début, dite moi si je me trompe mais voici quelques points qui me titille :
1) Je pense que si le nom dans la form du fichier html n'est pas le même que dans le le fichier php d'envoi, la vérification ne se fait pas et donc erreur.
2) Dans la récupération des données il n'y a pas ce champs d'indiquer, selon moi, ci les données ne sont pas récupéré la vérification ne peux s'effectuer donc erreur.
3) Un autre point mais qui viens de m'échapper... Je vous dirais si il me reviens.
Pour pouvoir savoir ou j'en suis et pourquoi ça ne fonctionne pas voici les code :
1) La form dans le fichier html :
<form method="post" action="process.php" class="form"> <table> <div class="nom"> <label for="nom">Ne remplissez pas ce champs, ceci est un test anti-spam.</label> <input type="text" name="prenom" id="nom" onblur="verifNom(this)"/> </div> <tr class="element"> <td><label>Nom</label></td> <td class="input"><input type="text" name="name" /></td> </tr> <tr class="element"> <td><label>Email</label></td> <td class="input"><input type="text" name="email" /></td> </tr> <tr class="element"> <td><label>Téléphone</label></td> <td class="input"><input type="text" name="numero" /></td> </tr> <tr class="element"> <td><label>Message</label></td> <td class="input"><textarea name="comment" class="text textarea" ></textarea></td> </tr> </table> <div class="element"> <div class="clearfix"></div> <input type="submit" id="submit" value="Envoyer"/> <div class="loading"></div> </div> <div class="error"></div> <div class="nonenvoyé"></div> </form>
2) Le code du fichier php avec la récupération de données :
//Récupération des données $name = ($_GET['name']) ? $_GET['name'] : $_POST['name']; $email = ($_GET['email']) ?$_GET['email'] : $_POST['email']; $numero = ($_GET['numero']) ?$_GET['numero'] : $_POST['numero']; $comment = ($_GET['comment']) ?$_GET['comment'] : $_POST['comment']; if ($_POST) $post=1; //Validation simple HTML if ( isset($_POST['hidden']) && !empty($_POST['hidden'])) { $errors[] = "désolé vous êtes un robot";} if (!$name) $errors[count($errors)] = 'Entrez votre nom'; if (preg_match('/^[a-zA-Z\-\ ]{2,30}$/', $name)) { $errors[] = "Nom invalide";} if (!$email) $errors[count($errors)] = 'Entrez votre email.'; if (preg_match("/([\w\-]+\@[\w\-]+\.[\w\-]+)/",$email)) { $emailErr = "Mail invalide";} if (!$numero) $errors[count($errors)] = 'Entrez votre numero.'; if (preg_match('^[0-9]{9,13}[0-9]$', $numero)) { $errors[] = "numéro invalide";} if (!$comment) $errors[count($errors)] = 'Entrez votre texte.'; if (!$errors) {
Merci de votre présence, je continu de chercher et si quelque chose change je vous le poste de suite.
Merci encore !