ho un problema abbastanza particolare, a me viene molto difficile da spiegare, allora nella pagina che processa i dati ho il seguente codice
Codice PHP:
<?php
session_start();
$conex = mysql_connect('localhost', 'root');
mysql_select_db("my_laboraccio", $conex);
/*variabili di index.php*/
$uname = $_GET['username'];
$pw = $_GET['password'];
$opzioneUtente = $_GET['opzioneUtente'];
/*variabili di profilo.php */
echo $_GET['sms'];
if($_POST['sessione'] == "logout") {
session_unset();
session_destroy();
header("Refresh:10; url=http://www.laboraccio.altervista.org/");
echo "sessione scaduta";
}
function registraUtente(){
global $uname;
echo $uname;
global $pw;
$sql = "SELECT * FROM utenti WHERE username='$uname'";
$resource = mysql_query($sql) or die (mysql_error());
$result = mysql_num_rows($resource);
echo $result;
if($result == 0) {
$sql = "INSERT INTO utenti (id, username, password) VALUES (NULL, '$uname', '$pw')";
mysql_query($sql);
header("Refresh:10; url=http://www.laboraccio.altervista.org/");
echo "nuovo utente creato";
echo "registrazione completata";
}
elseif($result == 1){
echo "username gia in uso, riprova con un altro";
header("Refresh:10; url=http://www.laboraccio.altervista.org/");
}
}
function loggareUtente(){
global $uname;
global $pw;
$sql = "SELECT * FROM utenti WHERE username='$uname' AND password='$pw'";
$resource = mysql_query($sql) or die (mysql_error());
$result = mysql_num_rows($resource);
if($result == 1) {
$_SESSION['username'] = $uname;
$_SESSION['password'] = $pw;
echo "benvenuto alla tua area personale".$uname;
header("Refresh:10; url=http://www.laboraccio.altervista.org/profilo.php");
}
elseif($result == 0) {print "utente non valido";
header("Refresh:10; url=http://www.laboraccio.altervista.org/");
}
}
if($opzioneUtente == 'registrareUtente'){
registraUtente();
}
elseif($opzioneUtente == "loggareUtente") {
loggareUtente();
}
in teoria se mi identifico mi dovrebbe mandare alla pagina di profilo che ha il seguente codice e poi mostrarmi i dati salvati nella variabile di sessione, ma per uno strano motivo mi rimanda sempre al index
Codice PHP:
<?php
session_start();
if(!isset($_SESSION['username'])) {
header("location: http://laboraccio.altervista.org/");
}
if(isset($_SESSION['username'])){
echo $_SESSION['username'];
}
?>
la cosa che mi e piu difficile di capire e che se io apro il seguente script
Codice PHP:
<html>
<head>
<title>s.php</title>
</head>
</html>
<?php
session_start();
if(isset($_SESSION['username'])){
echo $_SESSION['username'];
header("Refresh:10; url=http://www.laboraccio.altervista.org/");
}
else{
echo "non esiste una sessione";
header("Refresh:10; url=http://www.laboraccio.altervista.org/");
}
?>
Ricevo in output i dati salvati nella variabile di sessione.. e poi se provo a fare il login di nuovo, questa volta come per arte di magia vengo reindirizzato alla pagina di profilo