$_SESSION() svanisce con chrome

alessandromonti

Utente Attivo
25 Mar 2012
62
0
0
salve ho questa pag dove l'utente invia modulo registrazione ad area-riservata
PHP:
<?php                        // per brevità mi limito allo script di invio dati raccolti nel form
session_start();
ob_start();
if ((empty($_POST)) === false && (empty($errori) === true)) {	 //se utente ha spedito il form e i dati inseriti non contengono caratteri indesiderati  
   	$register_data = array (	
	'nome'         => $nome,
	'cognome'      => $cognome,
	'citta'        => $citta,
	'email'        => $_POST['email'],
	'us'           => $username,
	'ps'           => $password,
	'email_code'   => md5(($_POST['username']) + microtime())
	);
	register_user($register_data);            //funzione di registrazione 
        $email = $register_data['email'];
	$spedito_form = $register_data['email'];
	$_SESSION['spedito_form'] = $spedito_form;            //session che utente si è registrato
	$_SESSION['username'] = $username;
	$_SESSION['email'] = $email;
	header("Location: http://www.xxxxxx.org/conferma-invio-riservata.php"); 
	exit();
	ob_end_flush();
	
}
?>

nella pag congerma-invio-riservata.php :

PHP:
<?php
session_start();
ob_start();
        if ((isset($_SESSION['spedito_form']) === false)){   // se utente no spedito modulo registrazione
	header("Location: http://www.xxxxxx.org/index.php");
	exit();
	ob_end_flush();
	}else{
	$username = $_SESSION['username'];
	$email = $_SESSION['email'];		    //la pag prosegue con il messaggio.... grazie $username registrazione giunta...ti è stata spedita e-mail all'indirizzo $email...clicca il link che troverai per completare la registrazione....etc...etc..  
}
?>

ora....quando provo a registrami con chrome accade che $_SESSION['spedito_form'] sia sempre false...provato più volte con altri browser e non dà problemi....sapete dirmi qualcosa?
grazie

questa la funzione di registrazione:
PHP:
function register_user($register_data){
	array_walk($register_data, 'array_sanitize');	
	$register_data['ps'] = md5($register_data['ps']); 
	$fields = implode(", ",array_keys($register_data));
	$data = "'" . implode('\',\'', $register_data) . '\'';  
        $db = "XXXXXX";     
	$sel = mysql_select_db($db) or die (mysql_error());
	$result = mysql_query("INSERT INTO riservata ($fields) VALUES ($data)");
      	$register_data['nome'] = ucwords($register_data['nome']);
		email($register_data['email'], 'Attivazione account xxxx.org', "Salve " . $register_data['nome'] . ",\n\n Grazie per esserti registrato in xxxxx. Prima di accedere al tuo account devi completare la tua registrazione.\n\n 
	Nota - e' necessario quest'ultimo passo per diventare un utente registrato. Dovrai solo visitare il seguente URL una volta per attivare il tuo account.\n\n Per completare la registrazione, visita questo URL: \n\n http://www.xxxxxx.org/attivazione_account.php?email=" . $register_data['email'] . "&email_code=" . $register_data['email_code'] . "\n\n -");
}
 
E' solo quella sessione o tutte? Se non memorizza nessuna sessione controlla i cookie in chrome e assicurati che il PHPSESSID sia settato e con un tempo di scadenza valido per quello che devi fare, se invece è solo quella allora ricontrolla i valori che vengono inviati.

Se non dovesse memorizzare i cookie prova ad andare nelle impostazioni contenuti e a controllare che sia abilitata la loro memorizzazione in locale, o controlla/rimuovi eventuali plugin esterni che potrebbero modificarli

ps: cerca di ordinare di più il codice
 

Discussioni simili