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/bonsoir,
J'ai cette erreur : PDOStatement::execute(): SQLSTATE[HY000]: General error: 1364 Field 'pseudo' doesn't have a default value in /storage/ssd3/570/12853570/public_html/connexion.php on line 54
pour je crois aucune raison
Voilà mon code :
if($valid){
$req = $BDD->prepare("INSERT INTO utilisateurs (date_connexion) VALUES (?)");
$req->execute(array(date("Y-m-d h:m:s")));
$req = $BDD->prepare("SELECT *
FROM utilisateurs
WHERE id = ?");
$req->execute(array($verif_utilisateur['id']));
$verif_utilisateur = $req->fetch();
$_SESSION['id'] = $verif_utilisateur['id'];
$_SESSION['pseudo'] = $verif_utilisateur['pseudo'];
$_SESSION['mail'] = $verif_utilisateur['mail'];
header("Location: /");
exit;
}
Merci d'avance de vos aides.
Peut tu me mettre le code entier de ta page (PHP + HTML )
Quel sont tes colonnes dans ta BDD
Hey @Didoub74,
Depuis que j'ai fais ça, je viens de voir que ca me fait une ligne en null ( https://crafterhide-ytb.000webhostapp.com/imgs/erreur.PNG ).
Peux-tu m'aider ? Voilà mon code php :
<?php
session_start();
include_once('db/connexion_db.php');
if(!isset($_SESSION['id'])){
if(!empty($_POST)){
extract($_POST);
$valid = (boolean) true;
if(isset($_POST['connexion'])){
$mail = (String) strtolower(trim($mail));
$password = (String) trim($password);
if(empty($mail)){
$valid = false;
$err_mail = 'Veuillez renseigner le mail !';
}else{
$req = $BDD->prepare("SELECT id
FROM utilisateurs
WHERE mail = ?");
$req->execute(array($mail));
$utilisateur = $req->fetch();
if(!isset($utilisateur['id'])){
$valid = false;
$err_mail = "Ce mail n'existe pas !";
}
}
if(empty($password)){
$valid = false;
$err_password = 'Veuillez renseigner le mot de passe !';
}
$req = $BDD->prepare("SELECT id
FROM utilisateurs
WHERE mail = ? AND password = ?");
$req->execute(array($mail, crypt($password, '$6$rounds=5000$sdfnbgsdhhGFCFGFhgd525er1f854D5QEFfeqDeqE5E$')));
$verif_utilisateur = $req->fetch();
if(!isset($verif_utilisateur['id'])){
$valid = false;
$err_mail = 'Adresse courielle ou mot de passe erroné !';
}
if($valid){
$req = $BDD->prepare("INSERT INTO utilisateurs (date_connexion) VALUES (?)");
$req->execute(array(date("Y-m-d h:m:s")));
$req = $BDD->prepare("SELECT *
FROM utilisateurs
WHERE id = ?");
$req->execute(array($verif_utilisateur['id']));
$verif_utilisateur = $req->fetch();
$_SESSION['id'] = $verif_utilisateur['id'];
$_SESSION['nom_prenom'] = $verif_utilisateur['nom_prenom'];
$_SESSION['pseudo'] = $verif_utilisateur['pseudo'];
$_SESSION['mail'] = $verif_utilisateur['mail'];
header("Location: /ach/");
exit;
}
}
}
}else{
header("Location: /ach/");
}
?>
@Didoub74, ok merci !! ^^
Il n'y a pas de code pour cela !
• Il faut que tu aille dans phpmyadmin (ou autre)
• Il faut que tu rentre dans ta bdd
• Il faut que tu rentre dans ta table
• Il faut que tu aille dans structure
• Il faut que tu mette une valeur NULL à la ligne pseudo et ca marchera !
Hey @Jerem971,
Je viens de commencer php/sql comme tu le sais et je ne saurais faire cela sans un minimum de code.
Pourrais-tu s'il te plait me donner du code pour m'aider.
Merci de m'avoir expliqué.
Hello @CrafterHide,
L'erreur t'indique que tu n'a pas rentré de valeur par défaut à "pseudo".
Pour corriger cela, tu dois :
Tiens-moi/nous au courant 😉