Je n'arrive pas à écrire dans ma base de donnée.
- Accueil
- Forum
- Programmation
- PHP
- Je n'arrive pas à écrire dans ma base de donnée.
Profil introuvable Le 9 mai 2020 à 18:58 (Édité le 1 janvier 1970 à 01:00)
<?php
$bdd = new PDO('mysql:host=localhost;dbname=food4you','root','');
if(isset($_POST['forminscription']))
{
$pseudo = htmlspecialchars($_POST['Username']);
$mail = htmlspecialchars($_POST['Mail']);
$nom = htmlspecialchars($_POST['Nom']);
$prenom = htmlspecialchars($_POST['Prenom']);
$tel = htmlspecialchars($_POST['Num']);
$mdp = sha1($_POST['mdp']);
$mdp2 = sha1($_POST['mdp2']);
if(!empty($_POST['Nom']) AND !empty($_POST['Prenom']) AND !empty($_POST['Username']) AND !empty($_POST['mdp']) AND !empty($_POST['mdp2']) AND !empty($_POST['Mail']) AND !empty($_POST['Num']))
{
$pseudolength = strlen($pseudo);
if($pseudolength <= 255)
{
if(filter_var($mail, FILTER_VALIDATE_EMAIL))
{
}
else
{
$erreur = "Votre adresse mail n'est pas valide";
}
if($mdp == $mdp2)
{
$insertmbr = $bdd->prepare("INSERT INTO utilisateur(nom, prenom, mail, mdp, pseudo, tel ) VALUES(?, ?, ?, ?, ?, ?)");
$insertmbr->execute(array($nom, $prenom, $mail, $mdp, $pseudo, $tel ));
$erreur = "Votre compte a bien ete cree";
}
else
{
$erreur = "Vos mots de passe ne correspondent pas !";
}
}
else
{
$erreur = " Votre pseudo ne doit pas depasser 255 caractere";
}
}
else {
$erreur = "Tous les champs doivent etres complete";
}
}
?>
Profil introuvable Le 11 mai 2020 à 14:14 (Édité le 1 janvier 1970 à 01:00)
tout simplement tout mon code est correct, wamp fonctionne nickel, hier tout mon site marchais bien et la plus rien ne s'écrit dans la BDD
Oliver Le 13 mai 2020 à 13:30 (Édité le 1 janvier 1970 à 01:00)
Salut, tu as fait une pétite erreur dans ton code a partir de a ligne 19, tu as fait un léger décalage juste après ta fonction FILTER_VALIDATE_EMAIL, la suite du code devrais suivre mais toi tu as juste décalé et tu as continué en bas, normal que rien ne fonctionne.
Oliver Le 13 mai 2020 à 13:33 (Édité le 1 janvier 1970 à 01:00)
<?php
$bdd = new PDO('mysql:host=localhost;dbname=food4you','root','');
if(isset($_POST['forminscription']))
{
$pseudo = htmlspecialchars($_POST['Username']);
$mail = htmlspecialchars($_POST['Mail']);
$nom = htmlspecialchars($_POST['Nom']);
$prenom = htmlspecialchars($_POST['Prenom']);
$tel = htmlspecialchars($_POST['Num']);
$mdp = sha1($_POST['mdp']);
$mdp2 = sha1($_POST['mdp2']);
if(!empty($_POST['Nom']) AND !empty($_POST['Prenom']) AND !empty($_POST['Username']) AND !empty($_POST['mdp']) AND !empty($_POST['mdp2']) AND !empty($_POST['Mail']) AND !empty($_POST['Num']))
{
$pseudolength = strlen($pseudo);
if($pseudolength <= 255)
{
if(filter_var($mail, FILTER_VALIDATE_EMAIL))
{
//Ainsi devrais être ton code, tu as fais le décalage à ce niveau là... Essaie d'édité ton code et je suis sure que tout fonctionnera.
if($mdp == $mdp2)
{
$insertmbr = $bdd->prepare("INSERT INTO utilisateur(nom, prenom, mail, mdp, pseudo, tel ) VALUES(?, ?, ?, ?, ?, ?)");
$insertmbr->execute(array($nom, $prenom, $mail, $mdp, $pseudo, $tel ));
$erreur = "Votre compte a bien ete cree";
}
else
{
$erreur = "Vos mots de passe ne correspondent pas !";
}
}
else
{
$erreur = "Votre adresse mail n'est pas valide";
}
}
else
{
$erreur = " Votre pseudo ne doit pas depasser 255 caractere";
}
}
else {
$erreur = "Tous les champs doivent etres complete";
}
}
?>
Oliver Le 13 mai 2020 à 13:35 (Édité le 1 janvier 1970 à 01:00)
En gros voilà ce que tu démandais : Verifie que l'email est de type Email et est correct, s'il est correcte tu ne fais rien sinon tu verifie si le mot de passe est identique au mot de passe de vérification puis tu essaie de faire un ajout dans la base de donnée. Ce qui ne peut pas fonctionner, j'espère qe tu vois ton erreur.