Vérification de mail après enregistré
ushner07
Messages postés
3
Date d'inscription
Statut
Membre
Dernière intervention
-
jordane45 Messages postés 38486 Date d'inscription Statut Modérateur Dernière intervention -
jordane45 Messages postés 38486 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour à tous, j'espère vraiment que vous pourrez m'aider, à savoir ou se trouve l'erreur ou les erreurs, car ce code n'exécute aucun preg_match et n'enregistre pas les données. J'ignore même s'il passe car j'ai l'impression qu'il n'exécute rien comme je vous ai dit. Ca fait une semaine que je suis sur ce code, je prie cette communautés de m'explique si possible pourquoi il ne passe pas au mieux svp m'aider à l'améliorer afin qu'il puisse passer. J'aimerai vérifier d'abord les valeur avant d'enregistrer.
Voici le code
Je tiens encore à remercier un certain Jordane45 et Pitet, qui m'ont aidés sur ce code avant que je ne sois sur ce forum car avant leur aide, la page était toute blanche donc n'affichait aucune erreur. Là elle affiche bien du HTML, n'affiche aucune erreur mais n'enregistre même le membre, sans compter que j'ai essayé de vérifier les preg_match
Pour voir si elle m'enverra au else. Rien du tout. Svp aider moi merci d'avance
Voici le code
<?php // création de variable échapper $nom=strip_tags($_POST['nom']); $prenom=strip_tags($_POST['prenom']); $sexe=strip_tags($_POST['sexe']); $contact=strip_tags($_POST['contact']); // les conditions if(preg_match("#^[A-Z]([a-z]{2,})$#"), $nom) AND preg_match("#^[A-Z]([a-z]{2,})$#"), $prenom) AND preg_match("#^[a-z0-9._-]+@[a-z0-9._-]{2,}\.[a-z]{2,4}$#", $contact) AND $sexe=="femme" OR $sexe=="homme" AND $prenom!=$nom ) { // on se connecte à la base try { $bdd=new PDO ('myslq:localhost;dbname=membres', 'root', '', array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION)); } catch (Exception $e) { die ('Erreur:' .$e->getMessage()); } /* aucune erreur de connexion on va chercher le contact dans la table */ $requet=bdd->prepare('SELECT contact FROM listes WHERE contact=:contact'); $requet->execute(array('contact'=>$contact)); //la recherche sur la table $resultat=$requet; while($resultat !=$requet-> fetch()) { // on enregistre le nouveau dans la liste try { $bdd=new PDO('mysql:localhost; dbname:membres', 'root', '', array(PDO::ATTR_ERRMODE=>POD::ERRMODE_EXCEPTION)); } catch (Exception $e) { die ('Erreur:'. $e->getMessage ()); } $enr=$bdd->prepare('INSERT INTO listes (nom, prenom, sexe, contact) VALUE (:nom, :prenom, :sexe, :contact)'); $enr->execute (array ( 'nom'=>$nom, 'prenom'=>$prenom, 'sexe'=>$sexe, 'contact'=>$contact,)); echo"Vous avez été ajouter et sera rediriger"; header('location:rediriger.php'); } } else { écho "Vous avez mal rempli le formulaire"; header('location:formulaire.php'); } ?>
Je tiens encore à remercier un certain Jordane45 et Pitet, qui m'ont aidés sur ce code avant que je ne sois sur ce forum car avant leur aide, la page était toute blanche donc n'affichait aucune erreur. Là elle affiche bien du HTML, n'affiche aucune erreur mais n'enregistre même le membre, sans compter que j'ai essayé de vérifier les preg_match
Pour voir si elle m'enverra au else. Rien du tout. Svp aider moi merci d'avance
A voir également:
- Vérification de mail après enregistré
- Publipostage mail - Accueil - Word
- Windows live mail - Télécharger - Mail
- Comment enregistrer un mail - Guide
- Verification lien internet - Guide
- Mot de passe enregistré android - Guide
1 réponse
Bonjour,
Si tu avais activé l'affichage des erreurs PHP ... tu aurais sûrement pu trouver l'erreur :
Erreur qui se trouve dans ton IF ... les parenthèses étant mal placées !
Au passage .. je t'invite fortement à appliquer ceci
https://forums.commentcamarche.net/forum/affich-37584941-php-pdo-gerer-les-erreurs
et ceci :
https://forums.commentcamarche.net/forum/affich-37584947-php-gestion-des-erreurs-debogage-et-ecriture-du-code
Si tu avais activé l'affichage des erreurs PHP ... tu aurais sûrement pu trouver l'erreur :
error_reporting(E_ALL); ini_set('display_errors', TRUE); ini_set('display_startup_errors', TRUE);
Erreur qui se trouve dans ton IF ... les parenthèses étant mal placées !
if(preg_match("#^[A-Z]([a-z]{2,})$#", $nom) && preg_match("#^[A-Z]([a-z]{2,})$#", $prenom) && preg_match("#^[a-z0-9._-]+@[a-z0-9._-]{2,}\.[a-z]{2,4}$#", $contact) && ($sexe=="femme" OR $sexe=="homme" ) && $prenom!=$nom )
Au passage .. je t'invite fortement à appliquer ceci
https://forums.commentcamarche.net/forum/affich-37584941-php-pdo-gerer-les-erreurs
et ceci :
https://forums.commentcamarche.net/forum/affich-37584947-php-gestion-des-erreurs-debogage-et-ecriture-du-code
Je l'ai ajouté. Est-ce ainsi qu'on modifie le fichier php.ini ? Pour l'affichage des erreurs? Merci encore.
C'est surtout cette ligne là qui compte :
mais comme indiqué dans le lien que je t'ai donné.... tu peux le faire via le fichier php.ini ET/OU directement dans ton code en utilisant les lignes de code que je t'ai donné !!
Celui sur le lien est
Celui que j'utilise est
Les deux ne sont ils pas sensés traquer les erreurs PDO ?
Par contre.. dans ton code.. tu n'avais pas placé CHAQUE requête dans un bloc try/catch.
Mais de toutes façons.. ton souci se trouvait au niveau de ton IF .. rien à voir avec ton pdo.