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, frères développeurs. Mon problème est le suivant: quand j’essaie de me connecter a mon compte, la fonction crypt()
renvoie une erreur qui est :
Notice: Undefined variable: rounds in C:\wamp64\www\Web_App2\Site Dynamique\Projet Complet 1\connexion.php on line 31
Notice: Undefined variable: uvyfgzyffgfgfzgyilguimlnnL in C:\wamp64\www\Web_App2\Site Dynamique\Projet Complet 1\connexion.php on line 31
Voici le code source qui est celui de Sitedudev :
<?php
include('bd/connexionDB.php');
// S'il y a une session alors on ne retourne plus sur cette page
if(isset($_SESSION['id'])){
header('Location: index.php');
exit;
}
// Si la variable "$_Post" contient des informations alors on les traitres
if(!empty($_POST)){
extract($_POST);
$valid = true;
if(isset($_POST['connexion'])){
$mail = htmlentities(strtolower(trim($mail)));
$mdp = trim($mdp);
// Vérification qu'il y est bien un mail de renseigné
if(empty($mail)){
$valid= false;
$er_mail= "Il faut un mail";
}
// Vérification qu'il y est bien un mot de passe de renseigné
if(empty($mdp)){
$valid = false;
$er_mdp = "Il faut mettre un mot de passe";
}
// On fait une requête pour savoir si le couple mail / mot de passe existe bien car le mail est unique !
$req = $DB->query("SELECT * FROM utilisateur WHERE mail = ? AND mdp = ?", array($mail, crypt($mdp, "$6$rounds=5000$uvyfgzyffgfgfzgyilguimlnnL$"))); (ligne 31)
$req = $req->fetch();
// Si on a pas de résultat alors c'est qu'il n'y a pas d'utilisateur correspondant au couple mail / mot de passe
if($req['id'] ==""){
$valid = false;
$er_mail = "Le mail ou le mot de passe est incorrect";
}
// Si le token n'est pas vide alors on ne l'autorise pas à accéder au site
if($req['token'] <> NULL){
$valid = false;
$er_mail = "Le compte n'a pas été validé";
}
//S'il y a un résultat alors on va charger la SESSION de l'utilisateur en utilisateur les variables $_SESSION
if($valid){
$_SESSION['id']=$req['id'];
$_SESSION['nom']=$req['nom'];
$_SESSION['prenom']=$req['prenom'];
$_SESSION['mail']=$req['mail'];
header('Location: index.php');
exit;
}
}
}
?>
<!DOCTYPE html>
<html lang="fr" dir="ltr">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Connexion</title>
</head>
<body>
<div>Se connecter<div>
<form method="post">
<?php
if(isset($er_mail)){
?>
<div><?= $er_mail; ?></div>
<?php
}
?>
<input type="email" placeholder="Adresse mail" name="mail" value="<?php if(isset($mail)){echo $mail;} ?>" required>
<?php
if(isset($er_mdp)){
?>
<div><?= $err_mdp; ?></div>
<?php
}
?>
<input type="password" placeholder="Mot de passe" name="mdp" value="<?php if(isset($mdp)){echo $mdp;} ?>" required>
<button type="submit" name="connexion">Se connecter</button>
</form>
</body>
</html>
Si c'est le code de la formation Sitedudev, il suffit de vérifier l'insertion de ta requête dans ta base de donnée.
Le voici :
$DB->insert('Insert into user (pseudo, mail, password, idpublic) values (:pseudo, :mail,:password, :idpublic)', array('pseudo' => $Pseudo, 'mail' => $Mail, 'password' => crypt($Password, '$2a$10$1qAz2wSx3eDc4rFv5tGb5t'), 'idpublic' => $id_public));
Est-ce que cela t'aide ?😏
Oui je l'ai récupéré depuis le Sitedudev
Ce code tu l'as obtenu ou ? Est-ce toi qu'il la créer ? Tu la récupéré depuis la formation de Sitedudev ?🧐
ok je vais voir
@lloyds
Est-ce que tu pourrais mettre ton code source dans les balises [CODE] </></>. Ca serait plus lisible 😏