PDA

View Full Version : [PHP]Stessa sessione login in due script differenti


tiinho
09-09-2010, 12:57
Salve a tutti, vi spiego in poche parole il mio problema:
Allora praticamente io ho un script per il login nel mio sito e in un'altra sezione del sito è presente un miniscript per inserire dei commenti, dove bisogna compilare una serie di dati tra cui nome.

Io vorrei, se possibile, usare la sessione di login del primo script e come nome nei commenti usare l'username del login.

kk3z
09-09-2010, 13:24
Non ti basta fare session_start() anche nel miniscript?
Le sessioni dipendono dai cookie, che dipendono dal dominio: basta che entrambi gli script siano sotto lo stesso dominio. Se è così la sessione è la stessa.

tiinho
10-09-2010, 12:25
Qusto è il campo dove inserire il nome nel miniscript
$gb_post->name = (isset($HTTP_POST_VARS["gb_name"])) ? $HTTP_POST_VARS["gb_name"] : '';

Questa è la sessione di login dello script:
/********************************************************************/
/* Azione di Login */
/********************************************************************/

$action= $_GET['action'];

if($action == "login_do")
{

$user= $_POST['user'];
$pass= $_POST['pass'];

// Controllo inserimento dati
if (trim($user) == "" OR trim($pass) == "")
Errore("javascript:history.go(-1)", "Errore", "I campi devono essere riempiti" ,".");

else
{
$user = addslashes(stripslashes($user));
$pass = addslashes(stripslashes($pass));
$user = str_replace("<", "&lt;", $user);
$pass = str_replace(">", "&gt;", $pass);

// Connessione al database
Db_connect();

// Recupero dati dal database
if (!get_magic_quotes_gpc())
{
$user= addslashes($_POST['user']);
$pass= addslashes($_POST['pass']);
}

else
{
$user= $_POST['user'];
$pass= $_POST['pass'];
}
$crypt_pass = md5($pass);
$query = "SELECT * from ".$tbl_prefix."user WHERE username = '$user' AND password = '$crypt_pass'";
$risultato = mysql_query($query);
$num_righe = mysql_num_rows($risultato);
if($num_righe)
{
// L'utente è stato riconosciuto

$row = mysql_fetch_array($risultato);
if ($row['actived'] != "1")
Errore("javascript:history.go(-1)", "Errore", "L'account non risulta ancora attivato tramite la conferma email!" ,".");

session_cache_limiter("private_no_expire");

$_SESSION['login'] = "yes";
$_SESSION['auth'] = $row[auth];
$_SESSION['username'] = $row[username];
$_SESSION['nome'] = $row[nome];
$_SESSION['cognome'] = $row[cognome];
$_SESSION['mail'] = $row[mail];

Ok("index.php", "Inserimento dati corretto", "Login effettutato con successo" ,".");
}

// Nome utente o password errati
else
Errore("javascript:history.go(-1)", "Errore", "Username o password errati!" ,".");
}
menu();
foot();
}


Login();
menu();
foot();


?>