logo Debian Debian Debian-France Debian-Facile Debian-fr.org Forum-Debian.fr Debian ? Communautés logo inclusivité

Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).


L'icône rouge permet de télécharger chaque page du wiki visitée au format PDF et la grise au format ODT → ODT PDF Export

Titre de Votre Tuto

  • Objet : classe php de connexion à mysql
  • Niveau requis :
  • Commentaires : développement web

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

  • requetes :
<?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;  
    }
 
[...]
 
}
  • manager :
<?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>";
    }
 
[...]
utilisateurs/hypathie/config/php_classe_connexion.txt · Dernière modification: 16/04/2017 12:50 par Hypathie

Pied de page des forums

Propulsé par FluxBB