Connexion PDO(php data object )
Résolu
Majda_La
Messages postés
57
Statut
Membre
-
Majda_La Messages postés 57 Statut Membre -
Majda_La Messages postés 57 Statut Membre -
Salut :)
SVP , est ce que ce code est connecté avec PDO ou non ? Snon comment faire ?
car cette classe 'session' implémentate des méthodes.
merci de me répondre c'est URGENT
SVP , est ce que ce code est connecté avec PDO ou non ? Snon comment faire ?
car cette classe 'session' implémentate des méthodes.
merci de me répondre c'est URGENT
<?php
//la classe session implémente les méthodes de manière dont PHP doit gérer les sessions:
class session
{
public $session_time = 3600;//2 heures
public $session = array();
private $db;
public function __construct('localhost', 'root', '', 'bdcommerciale'){
$this->host = 'localhost';
$this->user = 'root';
$this->password = '';
$this->dba = 'bdcommerciale'; }
public function open ()//pour l'ouverture
{
$this->connect = mysql_connect($this->host, $this->user, $this->password,1);//on se
//connecte a la bdd
$bdd = mysql_select_db($this->dba,$this->connect);//on sélectionne la base de données
$this->gc();//on appelle la fonction gc
return $bdd;//true ou false selon la réussite ou non de la connexion à la bdd
}
public function read ($sid)//lecture
{
$sid = mysql_real_escape_string($sid,$this->connect);
$sql = "SELECT sess_datas FROM sess_table
WHERE sess_id = '$sid' ";
$query = mysql_query($sql,$this->connect) or exit(mysql_error());
$data = mysql_fetch_array($query);
if(empty($data)) return FALSE;
else return $data['sess_datas'];//on retourne la valeur de sess_datas
}
public function write ($sid, $data)//écriture
{
$expire = intval(time() + $this->session_time);//calcul de l'expiration de la session
$data = mysql_real_escape_string($data,$this->connect);//si on veut stocker du code sql
$sql = "SELECT COUNT(sess_id) AS total
FROM ".SESS_TABLE."
WHERE sess_id = '$sid' ";
$query = mysql_query($sql,$this->connect) or exit(mysql_error());
$return = mysql_fetch_array($query);
if($return['total'] == 0)//si la session n'existe pas encore
{
$sql = "INSERT INTO ".SESS_TABLE."
VALUES('$sid','$data','$expire')";//alors on la crée
}
else//sinon
{
$sql = "UPDATE ".SESS_TABLE." ET sess_datas = '$data',sess_expire = '$expire'WHERE sess_id = '$sid' ";//on la modifie
}
$query = mysql_query($sql,$this->connect) or exit(mysql_error());
return $query;
}
public function close()//fermeture
{
mysql_close($this->connect);//on ferme la bdd
}
public function destroy ($sid)//destruction
{
$sql = "DELETE FROM ".SESS_TABLE."
WHERE sess_id = '$sid' ";//on supprime la session de la bdd
$query = mysql_query($sql,$this->connect) or exit(mysql_error());
return $query;
}
public function gc ()//nettoyage
{
$sql = "DELETE FROM ".SESS_TABLE."
WHERE sess_expire < ".time(); //on supprime les vieilles sessions
$query = mysql_query($sql,$this->connect) or exit(mysql_error());
return $query;
}
}//fin de la classe
ini_set('session.save_handler', 'user');//on définit l'utilisation des sessions en personnel
//la fonction StartSession()
public function StartSession(){
// instanciation :
$session = new session($sql_host, $sql_user, $sql_password, $sql_db);//on déclare la classe
session_set_save_handler(array($session, 'open'),
array($session, 'close'),
array($session, 'read'),
array($session, 'write'),
array($session, 'destroy'),
array($session, 'gc'));//on précise les méthodes à employer pour les sessions
session_start();//on démarre la session
}
?>
A voir également:
- Connexion PDO(php data object )
- Gmail connexion - Guide
- App data - Guide
- Shockwave flash object - Télécharger - Divers Web & Internet
- Connexion chromecast - Guide
- Gmail connexion autre compte - Guide
1 réponse
Bonjour,
Tu n'as qu'à regarder le code qui y est écrit ... et donc en voyant cela :
tu constates sans problème que non.. il n'est pas question de pdo ici.
Tu peux modifier le code ...
Tu peux t'inspirer de ceci : https://www.commentcamarche.net/faq/44117-connexion-a-une-base-avec-pdo-mysqli
est ce que ce code est connecté avec PDO ou non ?
Tu n'as qu'à regarder le code qui y est écrit ... et donc en voyant cela :
$this->connect = mysql_connect($this->host, $this->user, $this->password,1);//on se
//connecte a la bdd
$bdd = mysql_select_db($this->dba,$this->connect);//on sélectionne la base de données
tu constates sans problème que non.. il n'est pas question de pdo ici.
Snon comment faire ?
Tu peux modifier le code ...
Tu peux t'inspirer de ceci : https://www.commentcamarche.net/faq/44117-connexion-a-une-base-avec-pdo-mysqli
Majda_La
Messages postés
57
Statut
Membre
Merci beaucoup pour votre aide ^_^