Probleme avec traitement de formulaire
Fermé
altechkgo
Messages postés
19
Date d'inscription
dimanche 9 décembre 2018
Statut
Membre
Dernière intervention
15 février 2020
-
20 janv. 2019 à 08:58
jordane45 Messages postés 38454 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 12 mars 2025 - 20 janv. 2019 à 22:32
jordane45 Messages postés 38454 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 12 mars 2025 - 20 janv. 2019 à 22:32
A voir également:
- Probleme avec traitement de formulaire
- Formulaire de réclamation facebook - Guide
- Traitement de texte gratuit - Guide
- Formulaire de reclamation instagram - Guide
- Traitement de texte gratuit open office - Télécharger - Suite bureautique
- Formulaire remboursement frais de résiliation free pdf ✓ - Forum Freebox
4 réponses
jordane45
Messages postés
38454
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
12 mars 2025
4 741
20 janv. 2019 à 09:38
20 janv. 2019 à 09:38
Bonjour
As tu activé l'affichage des erreurs php ?
Affiché les erreurs pdo ?
Que contiennent tes fonctions "insert" ?
As tu activé l'affichage des erreurs php ?
Affiché les erreurs pdo ?
Que contiennent tes fonctions "insert" ?
altechkgo
Messages postés
19
Date d'inscription
dimanche 9 décembre 2018
Statut
Membre
Dernière intervention
15 février 2020
20 janv. 2019 à 15:40
20 janv. 2019 à 15:40
Oui, j'ai bien activer les deux,
Voici le code de l'insert
merci encore
Voici le code de l'insert
$sql ='INSERT INTO users (nom,prenom,datenaissance,email,password,token,adresse,ville,urgence,codepostale) VALUES(:nom,:prenom,:datenaissance,:email,:password,:token,:adresse,:ville,:urgence,:codepostale)';
$req= $DB->insert($sql,$data);
//envoi d'email.
$mail_to =$email;
$mail_subject =" Validation de votre compte !!";
$headers = "From : BIENVENUE DANS NOTRE FAMILLE\r\n";
$headers.="Reply-To:votreemail \r\n";
$headers.="MIME-Version 1.0\r\n";
$headers.="Content-type: text/html;charset=utf-8\r\n";
$mail_body ='Bonjour <br/>
Veuillez ciquer sur <a href="httpS://www.je2menage.net/espace/activate.php?token='.$token.'&email='.$email.'"> le lien </a>pour activer votre compte ';
merci encore
jordane45
Messages postés
38454
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
12 mars 2025
4 741
20 janv. 2019 à 17:29
20 janv. 2019 à 17:29
Je t'ai demandé le code de ta fonction INSERT
Donc le code de ce qu'il y a dans :
Donc le code de ce qu'il y a dans :
$req= $DB->insert($sql,$data);
altechkgo
Messages postés
19
Date d'inscription
dimanche 9 décembre 2018
Statut
Membre
Dernière intervention
15 février 2020
20 janv. 2019 à 18:22
20 janv. 2019 à 18:22
VOICI comment j'ai fait
Merci encore
$sql = 'INSERT INTO users
(nom,prenom,urgence,email,password,token,datenaissance,lieu,pieceid,lieuetablit,datevalidite,adresse,ville,pays,codepostale) VALUES
(:nom,:prenom,:urgence,:email,:password,:token,:datenaissance,:lieu,:pieceid,:lieuetablit,:datevalidite,:adresse,:ville,:pays, :codepostale)';
$req = $DB->insert($sql,$data);
Merci encore
jordane45
Messages postés
38454
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
12 mars 2025
4 741
20 janv. 2019 à 18:39
20 janv. 2019 à 18:39
Visiblement tu as un peu de mal à lire....
Dans ta ligne de code
Que contient la fonction INSERT ??? La FONCTION (méthode si tu préfères).. ... qui se trouve certainement dans ta class DB
En complément....
Si le code PHP se trouve directement dans la même page que ton formulaire... alors il faut laisser l'action à vide
Remplacer :
par :
Il serait bien également, de vérifier le contenu de ta variable $_POST
Pour ça, au tout début de ton script, place un
et, une fois le formulaire validé, montre nous ce que ça t'affiche.
PS: Lorsque tu postes ton code, merci de le faire correctement (pour avoir la coloration syntaxique)
explications disponibles ici : https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
Merci.
Dans ta ligne de code
$req = $DB->insert($sql,$data);
Que contient la fonction INSERT ??? La FONCTION (méthode si tu préfères).. ... qui se trouve certainement dans ta class DB
En complément....
Si le code PHP se trouve directement dans la même page que ton formulaire... alors il faut laisser l'action à vide
Remplacer :
<form action="signup.php" id="signup" method="post">
par :
<form action="" id="signup" method="post">
Il serait bien également, de vérifier le contenu de ta variable $_POST
Pour ça, au tout début de ton script, place un
print_r($_POST);
et, une fois le formulaire validé, montre nous ce que ça t'affiche.
PS: Lorsque tu postes ton code, merci de le faire correctement (pour avoir la coloration syntaxique)
explications disponibles ici : https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
Merci.
altechkgo
Messages postés
19
Date d'inscription
dimanche 9 décembre 2018
Statut
Membre
Dernière intervention
15 février 2020
20 janv. 2019 à 20:51
20 janv. 2019 à 20:51
<?php
?>
<?php
if(!empty($_POST)){
if(!empty($_POST['password']) && ( filter_var($_POST['email'],FILTER_VALIDATE_EMAIL) ) ){
$email= addslashes($_POST['email']);
$password = sha1($_POST['password']);
$token = sha1(uniqid(rand()));
$nom=addslashes($_POST['nom']);
$adresse = addslashes($_POST['adresse']);
$ville = addslashes($_POST['ville']);
$codepostale =addslashes($_POST['codepostale']);
$reponse = $DB->uniqueEmail($email);
if($reponse !=0){
$_SESSION['erreur'] = "Adresse email déja utilisée par un membre.";
}else{
$data = array(
'nom'=>$nom,
'email'=>$email,
'password'=>$password,
'token'=>$token,
'adresse'=>$adresse,
'ville'=>$ville,
'codepostale'=>$codepostale
);
$sql ='INSERT INTO users (nom,email,password,token,adresse,ville,codepostale) VALUES(:nom,:email,:password,:token,:adresse,:ville,:codepostale)';
$req= $DB->insert($sql,$data);
//envoi d'email.
$mail_to =$email;
$mail_subject =" Validation de votre compte !!";
$headers = "From : Mon site.fr\r\n";
$headers.="Reply-To:votreemail \r\n";
$headers.="MIME-Version 1.0\r\n";
$headers.="Content-type: text/html;charset=utf-8\r\n";
$mail_body ='Bonjour <br/> Veuillez ciquer sur <a href="https://je2menage.net/espace/activate.php?token='.$token.'&email='.$email.'"> le lien </a>pour activer votre compte ';
if(mail($mail_to,$mail_subject,$mail_body,$headers)){
$_SESSION['message'] = " Un émail a été envoyé a votre méssagerie avec des instructions pour activer votre compte ";
unset($_POST);
}else{
$_SESSION['erreur'] = "Un problème est survenu lors de l'envoi d'email !.";
}
}
}else{
if(empty($_POST['password'])){
$erreur_password ='Un mot de passe est requis !.';
$_SESSION['erreur'] = ' Veuillez corriger les érreurs .';
}
if(empty($_POST['email'])){
$erreur_email ='Le champs email est requis !';
$_SESSION['erreur'] = ' Veuillez corriger les érreurs .';
}else
if(!filter_var($_POST['email'],FILTER_VALIDATE_EMAIL) ){
$erreur_email ='Adresse Email non valide !';
$_SESSION['erreur'] = ' Veuillez corriger les érreurs .';
}
}
}
?>
<!-- message de session -->
<?php if (isset($_SESSION['message'])): ?>
<div class="message"> <?php echo $_SESSION['message']; ?></div>
<?php unset($_SESSION['message']) ?>
<?php endif ?>
<?php if (isset($_SESSION['erreur'])): ?>
<div class="errorMessage"> <?php echo $_SESSION['erreur']; ?></div>
<?php unset($_SESSION['erreur']) ?>
<?php endif ?>
<!-- formulaire d'inscription -->
<form action="signup.php" method="post" id="signup">
<h2>Inscription</h2>
<fieldset>
<p>
<label for="nom">Nom :</label>
<input type="text" name="nom" id ="nom" value="<?php echo isset($_POST['nom'])?$_POST['nom']:''; ?>">
</p>
<p>
<label for="email" class="required">Email :</label>
<input type="email" name="email" id ="email" value="<?php echo isset($_POST['email'])?$_POST['email']:''; ?>">
</p>
<?php if (!empty($erreur_email)): ?>
<div class="error"><?php echo $erreur_email; ?></div>
<?php endif ?>
<p>
<label for="password" class="required">Mot de passe :</label>
<input type="password" name="password" id ="password">
</p>
<?php if (!empty($erreur_password)): ?>
<div class="error"><?php echo $erreur_password; ?></div>
<?php endif ?>
</fieldset>
<fieldset>
<p>
<label for="adresse">Adresse :</label>
<input type="text" name="adresse" id ="adresse" value="<?php echo isset($_POST['adresse'])?$_POST['adresse']:''; ?>">
</p>
<p>
<label for="ville">Ville :</label>
<input type="text" name="ville" id ="ville" value="<?php echo isset($_POST['ville'])?$_POST['ville']:''; ?>">
</p>
<p>
<label for="codepostale">Code postale :</label>
<input type="text" name="codepostale" id ="codepostale" value="<?php echo isset($_POST['codepostale'])?$_POST['codepostale']:''; ?>">
</p>
</fieldset>
<div class="clearfix"></div>
<p class="information">* Champs requis</p>
<p>
<input type="submit" value ="S'inscrire">
</p>
</form>
ok
Voici donc le code complet
jordane45
Messages postés
38454
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
12 mars 2025
4 741
20 janv. 2019 à 22:26
20 janv. 2019 à 22:26
1 - Tu ne réponds toujours pas à ma question..........
Je ne sais plus comment te le formuler pour que tu comprennes.....
Dernier essai : D'où vient ta variable $DB ? Je suppose d'une CLASS ..... cette class contient du code.... je veux voir ce code !
2 - Tu ne sais visiblement pas lire !
Je t'ai expliqué qu'il fallait poster ton code correctement.... en utilisant la coloration syntaxique....
Tu n'as visiblement pas lu le lien que je t'ai donné !
Dernier rappel !!
Je ne sais plus comment te le formuler pour que tu comprennes.....
Dernier essai : D'où vient ta variable $DB ? Je suppose d'une CLASS ..... cette class contient du code.... je veux voir ce code !
2 - Tu ne sais visiblement pas lire !
Je t'ai expliqué qu'il fallait poster ton code correctement.... en utilisant la coloration syntaxique....
Tu n'as visiblement pas lu le lien que je t'ai donné !
Dernier rappel !!
jordane45
Messages postés
38454
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
12 mars 2025
4 741
>
jordane45
Messages postés
38454
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
12 mars 2025
20 janv. 2019 à 22:32
20 janv. 2019 à 22:32
En fouillant... je suis retombé sur une ancienne discussion dans laquelle tu mettais le code de ta class DB
https://forums.commentcamarche.net/forum/affich-35739387-connexion-avec-pdo
Dans cette discussion... je t'avais indiqué le lien qui explique comment gérer correctement les erreurs PDO .... lien que tu n'avais pas lu ni appliqué !
Donc... avant tout .... commence par ajouter des TRY/CATCH à TOUTES les exécutions de requêtes.
Voir ici pour les explications :
https://forums.commentcamarche.net/forum/affich-37584941-php-pdo-gerer-les-erreurs
Reviens nous voir avec le code corrigé si le souci persiste (et j'insiste.... le code corrigé !!! )
https://forums.commentcamarche.net/forum/affich-35739387-connexion-avec-pdo
Dans cette discussion... je t'avais indiqué le lien qui explique comment gérer correctement les erreurs PDO .... lien que tu n'avais pas lu ni appliqué !
Donc... avant tout .... commence par ajouter des TRY/CATCH à TOUTES les exécutions de requêtes.
Voir ici pour les explications :
https://forums.commentcamarche.net/forum/affich-37584941-php-pdo-gerer-les-erreurs
Reviens nous voir avec le code corrigé si le souci persiste (et j'insiste.... le code corrigé !!! )