Ho un problema nella gestione di sessioni senza cookie:
Devo ricevere i dati da un modulo di login (login,pwd) che vengono passati allo script tramite post assieme ad un campo hidden che mi da l'id di sessione:
codice:
<input type=hidden name=PHPSESSID value=$PHPSESSID>
.
Il mio problema sta nel fatto che lo script seguente, siccome una volta ricevuto il session id ricarica la pagina si dimentica delle variabili passate con post. Come posso aggirare il problema?
codice:
<?php
if(IsSet($_POST['PHPSESSID']) && !IsSet($_COOKIE['PHPSESSID'])){
$PHPSESSID=$_POST['PHPSESSID'];
header("Location: http://localhost/inserimento/index.php?PHPSESSID=$PHPSESSID");
}
session_start();
//Controllo username e password da login
$login_r=$_POST['login'];
$pwd_r=$_POST['pwd'];
$conn_string="host=localhost dbname=autorized_users user=searcher password=***";
//connessione al database degli utenti autorizzati
$conn=pg_connect($conn_string) or die("ERRORE DI CONNESSIONE");
//query di verifica
$query="SELECT pwduser FROM usr_table WHERE username='$login_r'";
$result=pg_query($conn,$query);
$pwd_true=pg_fetch_row($result);
if(strcmp($$_POST['pwd'],$pwd_true[0])==0){
$_SESSION['logged_in']=TRUE;
$_SESSION['user']=$_POST['login'];
}
//logout
if($_GET['logout']==1){
$_SESSION=array();
session_destroy();
header("Location: http://localhost/inserimento/index.php");
exit;
}
?>
<!doctype html public "-//W3C//DTD html 4.0 //en">
<html>
<head>
<title>xxx</title>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
<meta name="generator" content="HAPedit 3.1">
<link rel="stylesheet" type="text/css" href="../style.css">
</head>
<body>
<?php
$PHPSESSID=session_id();
if(!IsSet($_SESSION['user'])){
//Pagina di login
require "login.html";
}
else {
require "index_ins.php";
}
?>
</body>
</html>
Spero che qualcuno voglia aiutarmi...
Ringrazio in anticipo!
Max