Formulaire gestion des erreurs
Résolu/Fermé
Anonymous95340
Anonymous95340
- Messages postés
- 114
- Date d'inscription
- lundi 5 octobre 2015
- Statut
- Membre
- Dernière intervention
- 7 décembre 2020
Anonymous95340
- Messages postés
- 114
- Date d'inscription
- lundi 5 octobre 2015
- Statut
- Membre
- Dernière intervention
- 7 décembre 2020
A voir également:
- Formulaire gestion des erreurs
- Formulaire gestion des erreurs ✓ - Forum - PHP
- Formulaires en ligne - La gestion des erreurs - Conseils pratiques - Ergonomie
- Gestion des erreurs ASP.NET - Conseils pratiques - ASP.NET
- Gestion des erreurs et exceptions - Articles
- Gestion des erreurs - Conseils pratiques - Pascal
2 réponses
yg_be
Modifié le 8 avril 2017 à 16:22
- Messages postés
- 19564
- Date d'inscription
- lundi 9 juin 2008
- Statut
- Contributeur
- Dernière intervention
- 2 juillet 2022
Modifié le 8 avril 2017 à 16:22
bonjour,
quels sont les noms de tes deux fichiers?
c'est la première fois que tu fais un formulaire avec du php?
je te suggère de commencer par un exercice beaucoup plus simple, pour vérifier que tu comprends les principes de base.
quels sont les noms de tes deux fichiers?
c'est la première fois que tu fais un formulaire avec du php?
je te suggère de commencer par un exercice beaucoup plus simple, pour vérifier que tu comprends les principes de base.
jordane45
8 avril 2017 à 16:43
- Messages postés
- 35770
- Date d'inscription
- mercredi 22 octobre 2003
- Statut
- Modérateur
- Dernière intervention
- 2 juillet 2022
8 avril 2017 à 16:43
Bonjour,
Deux choses :
1 - Pourquoi dans le IF utilises tu les variables POST ... alors qu'aux lignes au-dessus ... tu as récupéré les valeurs dans des variables ...
2 - Si le message apparait .. c'est qu'il y a sûrement des champs non-remplis ou pour lesquels tu as mal orthographié ...
Pour le voir .. commence par ajouter (dans ta page inscription ) , AVANT le IF ... la ligne de code suivante :
puis regarde ce que ça donne....;
3 - Je ne vois pas dans ton FORM .. l'action pointant vers le fichier inscription...
Ne devrais-tu pas avoir :
Deux choses :
1 - Pourquoi dans le IF utilises tu les variables POST ... alors qu'aux lignes au-dessus ... tu as récupéré les valeurs dans des variables ...
2 - Si le message apparait .. c'est qu'il y a sûrement des champs non-remplis ou pour lesquels tu as mal orthographié ...
Pour le voir .. commence par ajouter (dans ta page inscription ) , AVANT le IF ... la ligne de code suivante :
print_r($_POST);
puis regarde ce que ça donne....;
3 - Je ne vois pas dans ton FORM .. l'action pointant vers le fichier inscription...
<form method="POST" class="well col-md-6 col-md-offset-3" autocomplete="on">
Ne devrais-tu pas avoir :
<form method="POST" class="well col-md-6 col-md-offset-3" autocomplete="on" action="inscription.php">
Anonymous95340
8 avril 2017 à 23:22
- Messages postés
- 114
- Date d'inscription
- lundi 5 octobre 2015
- Statut
- Membre
- Dernière intervention
- 7 décembre 2020
8 avril 2017 à 23:22
Bonjour,
Oui je viens de me rendre compte que c'est inutile ( C'est mon premier formulaire svp soyez indulgent =( lol )
A propos du print_r($_post) quand les champs du formulaire sont vide il me retourne un tableau vide ( array()) mais quand je remplis mes champs et je valide il me retourne ceci
Oui dans le if les POST sont totalement inutiles du coup mon code donne ceci mais maintenant j'ai un probleme au niveau de la base de données c'est au niveau de la ligne 47 juste apres ma requete SQL mais je comprend pas mon erreur
Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[01000]: Warning: 1265 Data truncated for column 'fonction' at row 1' in C:\wamp64\www\m2lV1\inscription.php on line 47
( ! ) PDOException: SQLSTATE[01000]: Warning: 1265 Data truncated for column 'fonction' at row 1 in C:\wamp64\www\m2lV1\inscription.php on line 47
Oui je viens de me rendre compte que c'est inutile ( C'est mon premier formulaire svp soyez indulgent =( lol )
A propos du print_r($_post) quand les champs du formulaire sont vide il me retourne un tableau vide ( array()) mais quand je remplis mes champs et je valide il me retourne ceci
Array ( [login] => dimoke [mdp] => chrischris [mdp2] => chrischris [nom] => dimoke [prenom] => chris [adresse] => 17 rue du vert village [email] => chris.dimoke@hotmail.fr [email2] => chris.dimoke@hotmail.fr [cp] => 95340 [tel] => 0769242698 [fonction] => Agent administratif [actif] => valeur attachée au bouton [idassociation] => Unissef [inscription] => Valider )
Oui dans le if les POST sont totalement inutiles du coup mon code donne ceci mais maintenant j'ai un probleme au niveau de la base de données c'est au niveau de la ligne 47 juste apres ma requete SQL mais je comprend pas mon erreur
Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[01000]: Warning: 1265 Data truncated for column 'fonction' at row 1' in C:\wamp64\www\m2lV1\inscription.php on line 47
( ! ) PDOException: SQLSTATE[01000]: Warning: 1265 Data truncated for column 'fonction' at row 1 in C:\wamp64\www\m2lV1\inscription.php on line 47
<?php
print_r($_POST);
require 'config/database.php';
//require 'includes/fonctions.php';
if (isset($_POST['inscription'])) {
$errors = [];
$login = htmlspecialchars($_POST['login']);
$nom = htmlspecialchars($_POST['nom']);
$prenom = htmlspecialchars($_POST['prenom']);
$adresse = htmlspecialchars($_POST['adresse']);
//hachage du mot de passe
$mdp = sha1($_POST['mdp']);
$mdp2 = sha1($_POST['mdp2']);
$email = htmlspecialchars($_POST['email']);
$email2 = htmlspecialchars($_POST['email2']);
$tel = ($_POST['tel']);
$cp = ($_POST['cp']);
$fonction =($_POST['fonction']);
$idassociation = ($_POST['idassociation']);
$actif = ($_POST['actif']);
//Si les variables sont pas vides
if (!empty(['login']) && !empty(['mdp']) && !empty(['mdp2']) && !empty(['nom']) && !empty(['prenom'])
&& !empty(['adresse'])
&& !empty(['email'])
&& !empty(['email2']) && !empty(['cp']) && !empty(['tel']) &&
!empty(['fonction'] && !empty(['association']))) {
$loginlength = strlen($login);
if ($loginlength <= 255) {
if ($email == $email2) {
if (filter_var($email, FILTER_VALIDATE_EMAIL)) {
//Requete permettant de savoir si le mail est deja utilisé
$reqmail = $db->prepare("SELECT * FROM personnelassociatif WHERE email = ?");
$reqmail->execute([$email]);
$mailexist = $reqmail->rowCount();
if ($mailexist == 0) {
if ($mdp == $mdp2) {
//Insert les informations et cree le compte
$insertmbr = $db->prepare("INSERT INTO personnelassociatif(login,email,mdp,nom,prenom,adresse,codePostal,tel,fonction,actif,idAssociation) VALUES(?,?,?,?,?,?,?,?,?,?,?)");
$insertmbr->execute(array($login,$mdp,$email,$nom,$prenom,$adresse,$cp,$tel,$fonction,$actif,$idassociation));
//$_SESSION['comptecree'] = "Votre compte a été crée";
header('location: connexion.php');
} else {
$errors[] = 'Vos mots de passe correspondent pas';
}
} else {
$errors [] = 'Adresse mail deja utilisé ';
}
} else {
$errors[] = 'Votre adresse mail est pas valide';
}
} else {
$errors[] = "Vos adresses mail correspondent pas";
}
}
} else {
$errors[] = 'Tous les champs doivent être complétés';
}
}
?>
<?php require ('views/inscriptionView.php'); ?>
jordane45
8 avril 2017 à 23:26
- Messages postés
- 35770
- Date d'inscription
- mercredi 22 octobre 2003
- Statut
- Modérateur
- Dernière intervention
- 2 juillet 2022
- Messages postés
- 114
- Date d'inscription
- lundi 5 octobre 2015
- Statut
- Membre
- Dernière intervention
- 7 décembre 2020
8 avril 2017 à 23:26
Le message d'erreur indique que la valeur de ta variable $fonction ... est plus grande que la dimension de ton champ "fonction" dans ta table.
Anonymous95340
9 avril 2017 à 00:57
- Messages postés
- 114
- Date d'inscription
- lundi 5 octobre 2015
- Statut
- Membre
- Dernière intervention
- 7 décembre 2020
9 avril 2017 à 00:57
oui j'ai changer la dimension j'ai mis en VARCHAR(255) bon la j'ai des soucis au niveau de ma base de donnée je vais essayer de le régler en tout cas merci beaucoup =)
jordane45
9 avril 2017 à 01:08
- Messages postés
- 35770
- Date d'inscription
- mercredi 22 octobre 2003
- Statut
- Modérateur
- Dernière intervention
- 2 juillet 2022
- Messages postés
- 114
- Date d'inscription
- lundi 5 octobre 2015
- Statut
- Membre
- Dernière intervention
- 7 décembre 2020
9 avril 2017 à 01:08
Par contre .... ton IF me parait étrange...
A mon avis .... il faut remplacer tes ['login'] par $login (idem pour TOUTES tes autres variables )
if (!empty(['login']) && !empty(['mdp']) && !empty(['mdp2']) && !empty(['nom']) && !empty(['prenom']) && !empty(['adresse']) && !empty(['email']) && !empty(['email2']) && !empty(['cp']) && !empty(['tel']) && !empty(['fonction'] && !empty(['association']))) {
A mon avis .... il faut remplacer tes ['login'] par $login (idem pour TOUTES tes autres variables )
if (!empty($login) && !empty($mdp) .....
Anonymous95340
9 avril 2017 à 02:50
- Messages postés
- 114
- Date d'inscription
- lundi 5 octobre 2015
- Statut
- Membre
- Dernière intervention
- 7 décembre 2020
9 avril 2017 à 02:50
Ben ce IF
je pense que vous l'avez compris mais je prend les ['login'] etc.. dans les name dans le fichier inscriptionView
Apres peut-etre vaut mieux remplacer.. Je sais pas.
if (!empty(['login']) && !empty(['mdp']) ..
je pense que vous l'avez compris mais je prend les ['login'] etc.. dans les name dans le fichier inscriptionView
select name="idassociation" size="3">
Apres peut-etre vaut mieux remplacer.. Je sais pas.
8 avril 2017 à 23:05
le ficher qui contient mon formulaire en html est inscriptionView.php et le deuxieme fichier qui contient le code php est inscription.php.
Oui c'est mon premier formulaire en php a vrai dire c'est le projet que j'ai a faire pour mon BTS du coup je suis obligé de le faire. Merci du conseil