Petit nouveau ! |
7 Messages
23 janv. 2012, 10:43
Bonjour à tous.
J'ai un problème de comportement de mon code php sur un site perso.
Voilà ce que faisait mon code.
déclaration de démarrage de session dans chaque page au tout début de mon code.
une fonction include ensuite pour intégrer un bout de code en php qui renseigne une base de données pour savoir qui vient et quelles pages sont visitées.
Une ligne de la base de données est créée et mise à jour tant que l'utilisateur est sur la même session !
Mon problème :
Depuis l'intégration d'un script google analytique dans mes pages, plusieurs lignes sont créées dans ma base de données bien que je sois toujours dans ma session, (je le sais car j'ai un accès protégé par mot de passe sur une partie de mon site et lorsque ma session est valide, je n'ai pas besoin de rentrer mon mot de passe à chaque fois) ?
je nage, avez-vous une idée ? Merci pour votre aide !
je post mon bout de code php pour ma base de données.
<?php
session_start();
function get_ip(){
if(isset($_SERVER['HTTP_X_FORWARDED_FOR'])){
$ip = $_SERVER['HTTP_X_FORWARDED_FOR'];}
elseif(isset($_SERVER['HTTP_CLIENT_IP'])){
$ip = $_SERVER['HTTP_CLIENT_IP'];}
else{ $ip = $_SERVER['REMOTE_ADDR'];}
return $ip;}
//$serveur = mysql_connect("ip","user","mdp");
$serveur = mysql_connect("bases.sql","user","mdp");
if (!$serveur)
{
die('Non connecté : ' . mysql_error());
}
$dbstat = mysql_select_db('nom base', $serveur);
if (!$dbstat)
{
die ('Impossible d\'utiliser la base : ' . mysql_error());
}
if(!isset($_SESSION['parcours']))
{
$_SESSION['time'] = time();
$_SESSION['parcours']= $_SERVER['REQUEST_URI'];
$parcours=$_SESSION['parcours'];
$time=$_SESSION['time'];
$ip=get_ip();
$sql = "INSERT INTO nomtable (referer,time,parcours,sessid,ipclient)";
$sql .= "VALUES ('".$_SERVER['HTTP_REFERER']."','$time','$parcours','".session_id()."','$ip')";
}
else
{
$_SESSION['parcours'].= ';'.$_SERVER['REQUEST_URI'];
$_SESSION['time'].= ';'.time();
$parcours=$_SESSION['parcours'];
$time=$_SESSION['time'];
$ip=get_ip();
$sql = "UPDATE nomtable SET parcours='$parcours',time='$time',ipclient='$ip'";
$sql .= "WHERE sessid='".session_id()."'";
}
mysql_query($sql) or die('Erreur SQL !
'.$sql.'
'.mysql_error());
?>