Newsgroup: it.comp.www.php
Titolo: sessioni e sid sempre uguale

allora provando a loggare qui con due account diversi il sid è sempre uguale
(io credevo che il sid fosse sempre diverso) , ne vedete il motivo ? tnx
dell' aiuto
<?php
include("funzioni.php");
session_name("login");
session_start();
$sid = session_name() . "=" . session_id();
$_SESSION['user_nick'] = $_POST['user_nick'];
$_SESSION['user_password'] = $_POST['user_password'];
echo "<br>";
if (empty($_POST['user_nick']) && empty($_POST['user_password']) &&
!isset($_POST['controllo']))
  {
  echo "<form method=post action=$_SERVER[PHP_SELF]>
        tuo nome : <input type=text name=user_nick><br>
        tua password : <input type=text name=user_password><br><br>
        <input type=submit name=controllo value=login><br>
        </form>";
  }
elseif ((empty($_POST['user_nick']) || empty($_POST['user_password'])) &&
isset($_POST['controllo']))
  {
  echo "completare tutti i campi per poter inviare il form<br>
        <form method=post action=$_SERVER[PHP_SELF]>
        tuo nome : <input type=text name=user_nick><br>
        tua password : <input type=text name=user_password><br><br>
        <input type=submit name=controllo value=login><br>
        </form>";
  }
elseif (!empty($_POST['user_nick']) && !empty($_POST['user_password']))
  {
  collegati();
  $_SESSION['sid'] = $sid;
  $user_md5_pass = md5($_POST['user_password']);
  $controllo_login = "SELECT * FROM inq_USER where user_nick =
'$_POST[user_nick]' and user_pwd = '$user_md5_pass'";
  $risultato_controllo_login = mysql_query($controllo_login);
    if ($row=mysql_fetch_array($risultato_controllo_login))
      {
      echo "Hai loggato perfettamente " . $row['user_nick'] . "<br>";
      echo "ora puoi accedere alla pagina amministrativa <a
href=admin.php?$sid>qui</a>";
      // inserisco il sid nella tabella
      $inserisci_sid="UPDATE inq_USER SET user_last_sid='$sid'";
      mysql_query($inserisci_sid) or die (mysql_error());
      }
    else
      {
      echo "La password o il nickname che hai usato è sbagliato";
      }
  }
?>

 dell' aiuto
E' corretto, il SID non è legato al login, ma è legato al browser, fino a
quando resta aperto oppure
fino a quando non usi  session_destroy() il sid rimarra lo stesso.
Quello che deve cambiare, sono le altre informazioni presenti in sessione
tipo:
Potresti usare una variabile
$_SESSION["username"]
con il nome di login di chi è entrato. Se  è vuota allora non hai fatto il
login.
Se c'e' un valore allora vuol dire che qualcuno ha fatto il login.
$_SESSION["username"]  ovviamente dovresti settarla al login ed
eventualmente al logout.
Potresti usare anche un meccanismo a scadenze...... ma questa è un'altra
storia.

il problema è che ho notato guardando la tabella dove vengono conservati i
sid, che questi SID sono appunto identici (e non ne capisco il motivo) ..
cioè .. il mio è uguale preciso identico a quello di un altro utente .. che
usa il suo pc dall' altra parte dell' italia e ha un diverso username ..
ciao

trovato l' errore
      // inserisco il sid nella tabella
      $inserisci_sid="UPDATE inq_USER SET user_last_sid='$sid' where
user_nick = '$_POST[user_nick]' ";
      mysql_query($inserisci_sid) or die (mysql_error());
mancava il where nella query e ogni volta che loggavo mi cambiava tutti i
sid .. scusate