par
kornfr » 24 janv. 2016, 17:15
Bonjour,
j'ai un script PHP que l'on m'avait donné il y a quelques années.
Maintenant, OVH va me changer ma version de PHP. Malheureusement mon script ne fonctionne plus (les fonctions utilisés sont dépassés)
Ca me permettait d'afficher le nom de visiteur connecté sur le site.
Code : Tout sélectionner
<?
/* paramêtres
* et se connecter à la base de données
*/
$hote="mon_server";
$login="mon_login";
$mdp="monmotdepasse";
$bd="ma_base";
$connexion= mysql_connect($hote,$login,$mdp);
mysql_select_db($bd, $connexion);
// rÈcupËre le nom complet (précédé du chemin) du fichier de la page en cours d'exÈcution
$page=$PHP_SELF;
$ip = $_SERVER['REMOTE_ADDR'];
$time = time();
$timetoexpire=240;
$ttl = $time - $timetoexpire;
//supression ancienne entree de plus de $timetoexpire=240 et ip;
$req_supp ='DELETE FROM dc_connected WHERE time <' .(integer) $ttl. ' OR ip ="'.mysql_escape_string($ip).'"';
mysql_query($req_supp,$connexion) or die(mysql_error());
//ajout entrée
$req_ins="INSERT INTO dc_connected (ip,time,current_page) VALUES ('$ip','$time','$page')";
mysql_query($req_ins,$connexion);
//affichage
$rq = "SELECT * FROM dc_connected";
$result = mysql_query($rq,$connexion) or die(mysql_error());
$detail = mysql_fetch_assoc($result);
$nb_enreg = mysql_num_rows($result);
if ($nb_enreg <= 1) {
echo $nb_enreg." personne connectée <br />";
} else {
echo $nb_enreg." personnes connectées <br />";
}
?>
Pour la connexion j'ai rempalcé par ceci
Code : Tout sélectionner
$mysqli = mysqli_init();
if (!$mysqli) {
die('mysqli_init failed');
}
if (!$mysqli->options(MYSQLI_INIT_COMMAND, 'SET AUTOCOMMIT = 0')) {
die('Setting MYSQLI_INIT_COMMAND failed');
}
if (!$mysqli->options(MYSQLI_OPT_CONNECT_TIMEOUT, 5)) {
die('Setting MYSQLI_OPT_CONNECT_TIMEOUT failed');
}
if (!$mysqli->real_connect($hote, $login, $mdp, $bd)) {
die('Connect Error (' . mysqli_connect_errno() . ') '
. mysqli_connect_error());
}
$mysqli->select_db($bd);
// rÈcupËre le nom complet (précédé du chemin) du fichier de la page en cours d'exÈcution
$page=$PHP_SELF;
$ip = $_SERVER['REMOTE_ADDR'];
$time = time();
$timetoexpire=240;
$ttl = $time - $timetoexpire;
//supression ancienne entree de plus de $timetoexpire=240 et ip;
$req_supp ='DELETE FROM dc_connected WHERE time <' .(integer) $ttl. ' OR ip ="'.mysql_escape_string($ip).'"';
mysql_query($req_supp,$connexion) or die(mysql_error());
En revanche, cela se complique pour le remplacement de la fonction Mysql_escape_string par real_escape_string (si j'ai bien compris)
aurait il un âme charitable qui pourrait me donner un coup de main ?
Merci
Bonjour,
j'ai un script PHP que l'on m'avait donné il y a quelques années.
Maintenant, OVH va me changer ma version de PHP. Malheureusement mon script ne fonctionne plus (les fonctions utilisés sont dépassés)
Ca me permettait d'afficher le nom de visiteur connecté sur le site.
[code]<?
/* paramêtres
* et se connecter à la base de données
*/
$hote="mon_server";
$login="mon_login";
$mdp="monmotdepasse";
$bd="ma_base";
$connexion= mysql_connect($hote,$login,$mdp);
mysql_select_db($bd, $connexion);
// rÈcupËre le nom complet (précédé du chemin) du fichier de la page en cours d'exÈcution
$page=$PHP_SELF;
$ip = $_SERVER['REMOTE_ADDR'];
$time = time();
$timetoexpire=240;
$ttl = $time - $timetoexpire;
//supression ancienne entree de plus de $timetoexpire=240 et ip;
$req_supp ='DELETE FROM dc_connected WHERE time <' .(integer) $ttl. ' OR ip ="'.mysql_escape_string($ip).'"';
mysql_query($req_supp,$connexion) or die(mysql_error());
//ajout entrée
$req_ins="INSERT INTO dc_connected (ip,time,current_page) VALUES ('$ip','$time','$page')";
mysql_query($req_ins,$connexion);
//affichage
$rq = "SELECT * FROM dc_connected";
$result = mysql_query($rq,$connexion) or die(mysql_error());
$detail = mysql_fetch_assoc($result);
$nb_enreg = mysql_num_rows($result);
if ($nb_enreg <= 1) {
echo $nb_enreg." personne connectée <br />";
} else {
echo $nb_enreg." personnes connectées <br />";
}
?>[/code]
Pour la connexion j'ai rempalcé par ceci
[code]
$mysqli = mysqli_init();
if (!$mysqli) {
die('mysqli_init failed');
}
if (!$mysqli->options(MYSQLI_INIT_COMMAND, 'SET AUTOCOMMIT = 0')) {
die('Setting MYSQLI_INIT_COMMAND failed');
}
if (!$mysqli->options(MYSQLI_OPT_CONNECT_TIMEOUT, 5)) {
die('Setting MYSQLI_OPT_CONNECT_TIMEOUT failed');
}
if (!$mysqli->real_connect($hote, $login, $mdp, $bd)) {
die('Connect Error (' . mysqli_connect_errno() . ') '
. mysqli_connect_error());
}
$mysqli->select_db($bd);
// rÈcupËre le nom complet (précédé du chemin) du fichier de la page en cours d'exÈcution
$page=$PHP_SELF;
$ip = $_SERVER['REMOTE_ADDR'];
$time = time();
$timetoexpire=240;
$ttl = $time - $timetoexpire;
//supression ancienne entree de plus de $timetoexpire=240 et ip;
$req_supp ='DELETE FROM dc_connected WHERE time <' .(integer) $ttl. ' OR ip ="'.mysql_escape_string($ip).'"';
mysql_query($req_supp,$connexion) or die(mysql_error());
[/code]
En revanche, cela se complique pour le remplacement de la fonction Mysql_escape_string par real_escape_string (si j'ai bien compris)
aurait il un âme charitable qui pourrait me donner un coup de main ?
Merci