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 !
Très bon tuto pour l'espace membre et donc à tous un très grand merci.
J'ai juste un souci en faisant des tests avec Wampserver, le nouveau mot de passe n'est pas envoyé sur mon adresse mail.
Est-ce normal car je suis en local?
Merci de votre aide !
Salut @flexi2202,
Je te propose de lire ce topic d'OpenClassroom, il fait référence à l'erreur SQLSTATE[42S02]
😉
re Flomir
j ai ceci a présent
ma table c'est utilisateur ....
Warning: PDOStatement::execute(): SQLSTATE[42S02]: Base table or view not found: 1146 Table 'id16000760_phil.user' doesn't exist in /storage/ssd4/760/16000760/public_html/espace-membre-site-0/connexion.php on line 37
Se connecter
re @flexi2202,
Essaie ça 🧐
$req->execute(array($_POST['mail']));
Et je t'ai répondu dans tes messages privées.
re Flomir
Merci pour la correction
je t'ai répondu en MP
Voici donc la ligne 38
$req->execute($_POST['mail']);
Re @flexi2202,
Supprime ça:
header('Location: index.php');
exit;
Ligne 52/53 sur la page connexion.
Et montre moi la ligne 38 dans ton code.
P.S: Regarde ta messagerie privé de Sitedudev !
Re Flomir
Ben dis donc je t'en fais voir ce soir ...
Encore une fois un très grand merci
Je vais enfin avoir bientôt mon espace membre
Grâce à toi
Voilà j'ai fait les changements
Il n'y avait pas de query' ni de prepare
Dans les fichiers connexion et inscription ...
Mais de nouveau une erreur lors de l'exécution de connexion
Warning: PDOStatement::execute() expects parameter 1 to be array, string given in /storage/ssd4/760/16000760/public_html/espace-membre-site-0/connexion.php on line 38
Warning: Cannot modify header information - headers already sent by (output started at /storage/ssd4/760/16000760/public_html/espace-membre-site-0/connexion.php:38) in /storage/ssd4/760/16000760/public_html/espace-membre-site-0/connexion.php on line 43
Re @flexi2202,
Remplace tout ton code par ça:
<?php
// Déclaration d'une nouvelle classe
class connexionDB {
private $host = 'localhost';
private $name = 'id16000760_phil';
private $user = 'id16000760_ari';
private $pass = 'Ssa';
function __construct($host = null, $name = null, $user = null, $pass = null)
{
if($host != null) {
$this->host = $host;
$this->name = $name;
$this->user = $user;
$this->pass = $pass;
} try {
$this->connexion = new PDO('mysql:host=' . $this->host . ';dbname=' . $this->name,
$this->user, $this->pass, array(PDO::MYSQL_ATTR_INIT_COMMAND =>'SET NAMES UTF8MB4',
PDO::ATTR_ERRMODE => PDO::ERRMODE_WARNING));
} catch (PDOException $e){
echo 'Erreur : Impossible de se connecter à la BDD !';
die();
}
}
public function connexion(){
return $this->connexion;
}
}
$BDD = new connexionDB;
$DB = $BDD->connexion();
?>
Tu remplaceras les 'query' dans la page connexion.php et inscription.php par des 'prepare'
Normalement il ne faut rien mettre dans l'espace mot de passe mais si tu l'as configuré, alors laisse comme ça !
re Flomir
voici
<?php
// Déclaration d'une nouvelle classe
class connexionDB {
private $host = 'localhost'; // nom de l'host
private $name = 'id16000760_phil'; // nom de la base de donnée
private $user = 'id16000760_ari'; // utilisateur
private $pass = 'Ssa'; // mot de passe
//private $pass = ''; // Ne rien mettre si on est sous windows
private $connexion;
function __construct($host = null, $name = null, $user = null, $pass = null){
if($host != null){
$this->host = $host;
$this->name = $name;
$this->user = $user;
$this->pass = $pass;
}
try{
$this->connexion = new PDO('mysql:host=' . $this->host . ';dbname=' . $this->name,
$this->user, $this->pass, array(PDO::MYSQL_ATTR_INIT_COMMAND =>'SET NAMES UTF8',
PDO::ATTR_ERRMODE => PDO::ERRMODE_WARNING));
}catch (PDOException $e){
echo 'Erreur : Impossible de se connecter à la BDD !';
die();
}
}
public function query($sql, $data = array()){
$req = $this->connexion->prepare($sql);
$req->execute($data);
return $req;
}
public function insert($sql, $data = array()){
$req = $this->connexion->prepare($sql);
$req->execute($data);
}
}
// Faire une connexion à votre fonction
$DB = new connexionDB();
?>