PHP

Pas de mail avec le mot de passe oublie

Résolu

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 !

1183 vues
20 février 2021 à 13:10 (Édité)
Cette pub permet au site de vivre ...

26 commentaires

Re @flexi2202,


Pas de soucis 😁

Tiens nous au courant si ton problème est résolu 😉

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();
?>
Cette pub permet au site de vivre ...
1
2
3