Titre de Votre Tuto

Connexion.php

<?php
class Database
{
    private static $cont  = null;
 
    public function __construct() {
        die('Init function is not allowed');
    }
 
    public static function connect()
    {
 
       if ( null == self::$cont )
       {     
        try
        {
            self::$cont =  new PDO('mysql:host=localhost;dbname=siteEssai;charset=utf8','siteEssai', 'siteEssai');            
        }
        catch(PDOException $e)
        {
          die($e->getMessage()); 
        }
       }
       return self::$cont;
    }
 
    public static function disconnect()
    {
        self::$cont = null;
    }
}

Exemple Utilisation

<?php
error_reporting(E_ALL);
ini_set('display_errors', '1');
 
require 'Connexion.php';
 
class Requetes
{
 
    public function __construct()
    {
       $this->pdo = Database :: connect();
    }
 
    public function obtenirMailByPseudo($pseudo)
    {
        $clean_pseudo = $this->pdo->quote($pseudo);
        $q = $this->pdo->query("select mail from login where pseudo=$clean_pseudo;")->fetchColumn();
        return (string)$q;  
    }
 
[...]
 
}
<?php
error_reporting(E_ALL);
ini_set('display_errors', '1');
require 'Requetes.php';
 
 
class Manager
{
 
    public function __construct()
    {
        $this->requete = new Requetes();
    }
 
[...]
 
    public function envoyerMailInitialiserMP($pseudo)
    {
        $motpasse = $this->genererMotPasseClaire(6);
        $passwordHash = password_hash($motpasse, PASSWORD_BCRYPT,['cost' => 9]);
Identification-
        // on modifie : 
        $this->requeteIdentification->modifierMotPasse($pseudo, $passwordHash);
 
        // Préparation du mail contenant le lien d'activation
        $sujet = "Mot de passe provisoire" ;
        $entete = "From: pssw@hypathie.net" ;
        $message = '
 
        Bonjour '.$pseudo.'.
 
        Votre mot de passe provisoire est '.$motpasse.'.
 
 
        Veuillez utiliser ce mot de passe pour vous identifier.
 
        Ce mot de passe est valable 3 jours. N\'oubliez pas de le  modifier !
 
 
 
        ---------------
        Ceci est un mail automatique, Merci de ne pas y répondre.';
 
        $destinataire = $this->requete->obtenirMailByPseudo($pseudo); 
        var_dump($destinataire);
        mail($destinataire, $sujet, utf8_decode($message), $entete) ; // Envoi du mail
        //echo "mail envoyé !";
       // echo "<p>Le destinataire : ".$destinataire."</p>";
    }
 
[...]