Problema sessioni...IMPOSSIBILE!!!

ciao

Per vedere con certezza le visite nel mio sito... ho messo in ogni pagina un semplice script che inserisce nella tabella ip le seguenti informazioni...

ID (auto-increment),ip,data,ora,sessione

Il problema è che prima cosa...mi mette quattro record nel db ogni volta che apro la pagina  e in piu' ..magari.. alle 08:21 ho sei visite dello stesso ip tutte nello stesso minuto..ma tutte e sei con sessione diversa....  Come è possibile?

ah..poi ho anche questo problema:

Mentre navigo nel sito..mi mette in automatico nel link http://www.sito.com/?PHPSESSID=43wfhfqbfoq3(sessione insomma) come si fa a disattivare questa impostazione?

Allora...tutte le pagine iniziano piu' o meno cosi:

<?

session_start();

$sid=session_id();

?><html>

<head>

<title>Gallomania.it - Il portale del Divertimento, umorismo, trash, video trash, foto pazze, eseguibili, screen-mates, testi divertenti, barzellette, audio trash, notizie strane, sala giochi, giochi online, gratis, ragazze, ragazzi, giovani, concorso, miss, forum, chat, blog, messaggi amore</title>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

<META=20

content=3D"Umorismo e satira: trash, video pazzi, video divertenti, barzellette, testi =

divertenti, file divertenti, frasi divertenti, scherzi, foto pazze, eseguibili, audio,

giochi, gratis, ragazze, ragazzi, giovani, miss, forum, chat, screen mates battute"=20

name=3Ddescription>

<META=20

content=3D"video divertenti, umorismo, scherzi, barzellette, file =

divertenti, immagini divertenti, audio, frasi divertenti, testi =

divertenti, gratis, trash, foto pazze, sms divertenti, foto"=20

name=3Dkeywords>

</head>

<body>

<div align="center">

<? include "intestazione.php"; ?>

Eccc......

Il file intestazione.php..dove cominciano i problemi è cosi:

<? include "dati.php";

$db = mysql_connect($host, $user, $pass);

mysql_select_db($db_name, $db) ;

$data = (date("d/m/Y"));

$ora = date("H:i", time());

$ip=getenv(REMOTE_ADDR);

$query = "INSERT INTO ip (ip,data,ora,sessione) VALUES ('$ip','$data','$ora','$sid')";

mysql_query($query, $db);

mysql_close();

?>

<body>

<div align="center">

<table border="0" cellpadding="0" cellspacing="0" width="760">

<!-- fwtable fwsrc="intes.png" fwbase="intes.gif" fwstyle="Dreamweaver" fwdocid = "605270610" fwnested="0" -->

<tr>

ecc.

nn capisco dove sia il problema...

inviato 9 anni fa
pazzomania
X 0 X
Mentre navigo nel sito..mi mette in automatico nel link http://www.sito.com/?PHPSESSID=43wfhfqbfoq3(sessione insomma) come si fa a disattivare questa impostazione?

Questo dipende dalla configurazione del server (non ricordo se di apache o php)

magari.. alle 08:21 ho sei visite dello stesso ip tutte nello stesso minuto..ma tutte e sei con sessione diversa....  Come è possibile?

Se sono 6 pc all'interno di una rete che esce con un unico router (e quindi unico ip) hanno cmq 6 sessioni differenti, ecco come può accadere.

..mi mette quattro record nel db ogni volta che apro la pagina

Vedendo il codice di inserimento, non fai nessun controllo se una certa sessione/ip è già stata inserita o meno nel db, quindi mi sembra normale che ci siano + inserimenti.

risposto 9 anni fa
LonelyWolf
X 0 X

Se sono 6 pc all'interno di una rete che esce con un unico router (e quindi unico ip) hanno cmq 6 sessioni differenti, ecco come può accadere.

Giusto..pero' questo l'ho notato anche quando accedo io! E son sicuro di aver fatto un solo accesso...

Vedendo il codice di inserimento, non fai nessun controllo se una certa sessione/ip è già stata inserita o meno nel db, quindi mi sembra normale che ci siano + inserimenti.

Giusto anche questo..pero' se io apro una pagina..mi mette 3 o 4 record nel db...invece che solo 1...è questo che non quadra...

risposto 9 anni fa
pazzomania
X 0 X

uhm.. a rigor di logica potresti ovviare al problema con una soluzione del genere:

fammi sapere se funge  :bye:

<?

$Connessione =  mysql_connect($host, $user, $pass);
mysql_select_db($db_name, $Connessione);

// Recuperi la data corrente
$data = (date("d/m/Y"));
// Recuperi l'ora  corrente 
$ora = date("H:i", time());
// Recuperi L'ip remoto
$ip = getenv(REMOTE_ADDR);

// controlli che non vi sia già un record con le credenziali precedentemente recuperate 
$Verifica = mysql_query("SELECT * FROM ip WHERE ora = '$data' AND ip = '$ip' ");
$SessioneREG = mysql_num_rows("$Verifica");

if ($SessioneREG == 0) {

$Inserimento = mysql_query("INSERT INTO ip (ip,data,ora,sessione) VALUES ('$ip','$data','$ora','$sid')");

}


?>
risposto 9 anni fa
Pixelate
modificato 9 anni fa
X 0 X

si funge,,,

risposto 9 anni fa
pazzomania
X 0 X

perfetto :) problema risolto?

risposto 9 anni fa
Pixelate
X 0 X

no..pero' grazie lo stesso!

Il prob è quello che ho scritto nel primo post!

risposto 9 anni fa
pazzomania
X 0 X

ma nn è che magari fai l'inclusione di qualche file che riesegue lo script?

risposto 9 anni fa
Pixelate
X 0 X

no...ma è strano!

Ho aperto un altro post..vai a vedere quale altro problema mi da! Asssurd...

risposto 9 anni fa
pazzomania
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda