Ce site utilise des cookies pour améliorer uniquement votre expérience utilisateur.
Vous pouvez lire Ă tout moment comment nous utilisons les cookies sur le site.
Bonjour a tous,
Je suis embĂȘtĂ© đ©, j'ai suivi les tuto sitedudev j'en suis Ă la video 5.1 "rĂ©aliser un formulaire de connexion que je trouve genial :) mais je rencontre une erreur avec le fichier inscription.php (Ă noter que je suis sous php 8.2), voici le fichier en question :
l'erreur affichée est la suivante :
Warning: PDOStatement::execute(): SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ') VALUES ('toto', 'couvratchristian@orange.fr', '$6$rounds=5000$60A:Bn;Nx-X!g...' at line 1 in C:\xampp\htdocs\chris3d\inscription.php on line 81
Je vous ai commentĂ© cette ligne sur le code ci-dessous, je n'arrive pas a trouver d'oĂč cela vient , ma BDD est correct je n'ai aucune erreur de connexion... si quelqu'un peut m'aider a ce sujet ... par avance merci.
<?php
include_once('include.php');
if (!empty($_POST)){
extract($_POST);
$valid = (boolean) true;
if (isset($_POST['inscription'])) {
$pseudo = trim($pseudo);
$mail = trim($mail);
$confmail = trim($confmail);
$password = trim($password);
$confpassword = trim($confpassword);
if (empty($pseudo)) {
$valid = false;
$err_pseudo = "Ce champ ne peut pas ĂȘtre vide";
} else {
$req = $DB->prepare("SELECT id
FROM utilisateur
WHERE pseudo = ?");
$req->execute(array($pseudo));
$req = $req->fetch();
if (isset($req['id'])) {
$valid = false;
$err_pseudo = "Ce pseudo est déjà pris";
}
}
if (empty($mail)) {
$valid = false;
$err_mail = "Ce champ ne peut pas ĂȘtre vide";
} elseif ($mail <> $confmail) {
$valid = false;
$err_mail = "Ce mail est différent de la confirmation";
} else {
$req = $DB->prepare("SELECT id
FROM utilisateur
WHERE mail = ?");
$req->execute(array($mail));
$req = $req->fetch();
if (isset($req['id'])) {
$valid = false;
$err_mail = "Ce mail est déjà pris";
}
}
if (empty($confmail)) {
$valid = false;
$err_confmail = "Ce champ ne peut pas ĂȘtre vide";
}
if (empty($password)) {
$valid = false;
$err_password = "Ce champ ne peut pas ĂȘtre vide";
} elseif ($password <> $confpassword) {
$valid = false;
$err_password = "Ce mot de passe est différent de la confirmation";
}
if (empty($confpassword)) {
$valid = false;
$err_confpassword = "Ce champ ne peut pas ĂȘtre vide";
}
if ($valid) {
$crypt_password = crypt($password, '$6$rounds=5000$60A:Bn;Nx-X!gTlezacONR|r6BZx$J^>f]lH@$CY+cllov.qX$jVrtZ!7$');
$date_creation = date('Y-m-d H:i:s');
$req = $DB->prepare("INSERT INTO utilisateur(pseudo, mail, mdp, date_creation, date_connexion,) VALUES (?, ?, ?, ?, ?)");
//la ligne si dessous est pointée en erreur lorsque je valide le formulaire//
$req->execute(array($pseudo, $mail, $crypt_password, $date_creation, $date_creation));
exit;
// insertion Ă notre bdd
}else{
echo 'nok';
// rien (affichage des messages d'erreurs)
}
}
}ï»żï»ż
Re @chris86260 !
Tu verras c'est cool de galĂ©rer longtemps et d'avoir la rĂ©ponse Ă sa question des heures ou mĂȘme des jours aprĂšs ^^
N'hésites pas en tout cas à nous poser toutes les questions que tu as.
Si tu es un adepte de Discord je t'envoie le lien d'invitation du serveur : ici
Florent.
heyy @Flomir !
Merci pour cette accueil :)
Alors lĂ ! je suis absolment vert ! j'ai passĂ© ma soirĂ©e d'hier de 19h Ă 21h plus ce soir Ă ma debauche... a chercher cette foutue erreur ! pfff... une virgule sĂ©rieux! đ
Bon bah merci Ă toi franchement !
Je vais donc pouvoir continuer les vidéos, je ne m'en lasse pas !
Mais j'aurais d'autre question (mis a part si je trouve ma réponse ;) )
Bonne soirée à toi
Hey @chris86260 !
Bienvenue sur Sitedudev :)
Ton erreur est simplement une virgule sur cette ligne :
$req = $DB->prepare("INSERT INTO utilisateur(pseudo, mail, mdp, date_creation, date_connexion,) VALUES (?, ?, ?, ?, ?)");
Plus précisément ici :
date_connexion,)
Remplacer par :
date_connexion)
__________________________________________________________________________
Comment le deviner ? En lisant l'erreur đ
Warning: PDOStatement::execute(): SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ') VALUES ('toto', 'couvratchristian@orange.fr', '$6$rounds=5000$60A:Bn;Nx-X!g...' at line 1 in C:\xampp\htdocs\chris3d\inscription.php on line 81
Plus précisément ici :
"You have an error in your SQL syntax" && "near ')"
(erreur de syntaxe SQL et c'est prĂšs d'une parenthĂšse fermante)
VoilĂ ,
TrÚs bonne soirée à toi !
Florent đ