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.
Re:
As-tu suivis un tuto en particulier pour réaliser cela ? 🤔
Ben pourtant sur ta bdd tu il n'y a personne inscrit.
Juste est ce que tu t'est déjà inscrit @CrafterHide
@Didoub74, Voilà le code :
<?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/");
}
?>
<!DOCTYPE html>
<html lang="fr">
<head>
<title>Connexion</title>
<meta charset="UTF-8">
<link rel="stylesheet" href="./css/style.css">
</head>
<body>
<?php
require_once('auto/menu.php');
?>
<div class="center">
<form method="post">
<div>
<input type="text" name="mail" placeholder="Email">
<?php
if(isset($err_mail)){
echo $err_mail;
}
?>
</div>
<div>
<input type="password" name="password" placeholder="Mot de passe">
<?php
if(isset($err_password)){
echo $err_password;
}
?>
</div>
<input type="submit" name="connexion" value="Se connecter">
</form>
</div>
</body>
</html>