Non aggiorna valore session

marcocorso

Nuovo Utente
25 Giu 2015
3
0
0
Ciao ha tutti
ho provato a scrivere questo codice che dopo il login dovrebbe cambiare il nome dell'utente da "visitatore" a quello inserito per il login ma rimane "visitatore" e non varia

home.php
PHP:
<?php
session_start();
$_SESSION['username'] = "visitatore";

include('header.php');
?>

   .
   .
   .
   .
   .

	
<?php
include('footer.php');
?>


header.php

PHP:
<!DOCTYPE HTML PUBLIC"-//W3C//DTD HTML 4.01//EN""http://www.w3.org/TR/html4/strict.dtd">
<html>

   <head>
      .
      .
   </head>
    
<body>
      .
      .
      .		
	
<?php
$DB_host     = '...';
$DB_user     = '...';
$DB_password = '...';
$DB_name     = '...';

$link = mysql_connect($DB_host, $DB_user, $DB_password);
if (!$link) {
	die ('Non riesco a connettermi: ' . mysql_error());
}

$db_selected = mysql_select_db($DB_name, $link);
if (!$db_selected) {
	die ("Errore nella selezione del database: " . mysql_error());
}

if($_POST) {
	effettua_login();
} else {
	mostra_form();
}

function mostra_form()
{
	if(isset($_GET['msg'])) {
		echo '<b>'.htmlentities($_GET['msg']).'</b><br /><br />';
	}
?>

	<?php
}

function effettua_login()
{
	$nome      = trim($_POST['nome']);
	$password  = trim($_POST['password']);
	if(get_magic_quotes_gpc()) {
		$nome      = stripslashes($nome);
		$password  = stripslashes($password);
	}

	if(!$nome || !$password) {
		$messaggio = urlencode("Non hai inserito il nome o la password");
		header("location: $_SERVER[PHP_SELF]?msg=$messaggio");
		exit;
	}

	$nome     = mysql_real_escape_string($nome);
	$password = mysql_real_escape_string($password);	

	$query = "SELECT uname FROM usr WHERE uname = '$nome' AND upwd = '$password'";
	$result = mysql_query($query);

	if (!$result) {
		die("Errore nella query $query: " . mysql_error());
	}

	$record = mysql_fetch_array($result);

	if(!$record) {
		$messaggio = urlencode('Nome utente o password errati');
		header("location: $_SERVER[PHP_SELF]?msg=$messaggio");
	} else {
		$_SESSION['username'] = $nome;
		$messaggio = urlencode('Login avvenuto con successo');
		header("location: $_SERVER[PHP_SELF]?msg=$messaggio");
	}
}
?>

		
		UTENTE:
		<?php
			echo $_SESSION['username'];
		?>
		
		<form name="form_login" method="post" action="">
		   <label>username: <input name="nome" type="text" value=""></label><br>
		   <label>password: <input name="password" type="password" value=""></label><br>
	           <input name="invia" type="submit" value="Invia">
	        </form>
 

akp

Utente Attivo
8 Giu 2015
133
0
16
Ciao ha tutti
ho provato a scrivere questo codice che dopo il login dovrebbe cambiare il nome dell'utente da "visitatore" a quello inserito per il login ma rimane "visitatore" e non varia

home.php
PHP:
<?php
session_start();
$_SESSION['username'] = "visitatore";

include('header.php');
?>

   .
   .
   .
   .
   .

	
<?php
include('footer.php');
?>


header.php

PHP:
<!DOCTYPE HTML PUBLIC"-//W3C//DTD HTML 4.01//EN""http://www.w3.org/TR/html4/strict.dtd">
<html>

   <head>
      .
      .
   </head>
    
<body>
      .
      .
      .		
	
<?php
$DB_host     = '...';
$DB_user     = '...';
$DB_password = '...';
$DB_name     = '...';

$link = mysql_connect($DB_host, $DB_user, $DB_password);
if (!$link) {
	die ('Non riesco a connettermi: ' . mysql_error());
}

$db_selected = mysql_select_db($DB_name, $link);
if (!$db_selected) {
	die ("Errore nella selezione del database: " . mysql_error());
}

if($_POST) {
	effettua_login();
} else {
	mostra_form();
}

function mostra_form()
{
	if(isset($_GET['msg'])) {
		echo '<b>'.htmlentities($_GET['msg']).'</b><br /><br />';
	}
?>

	<?php
}

function effettua_login()
{
	$nome      = trim($_POST['nome']);
	$password  = trim($_POST['password']);
	if(get_magic_quotes_gpc()) {
		$nome      = stripslashes($nome);
		$password  = stripslashes($password);
	}

	if(!$nome || !$password) {
		$messaggio = urlencode("Non hai inserito il nome o la password");
		header("location: $_SERVER[PHP_SELF]?msg=$messaggio");
		exit;
	}

	$nome     = mysql_real_escape_string($nome);
	$password = mysql_real_escape_string($password);	

	$query = "SELECT uname FROM usr WHERE uname = '$nome' AND upwd = '$password'";
	$result = mysql_query($query);

	if (!$result) {
		die("Errore nella query $query: " . mysql_error());
	}

	$record = mysql_fetch_array($result);

	if(!$record) {
		$messaggio = urlencode('Nome utente o password errati');
		header("location: $_SERVER[PHP_SELF]?msg=$messaggio");
	} else {
		$_SESSION['username'] = $nome;
		$messaggio = urlencode('Login avvenuto con successo');
		header("location: $_SERVER[PHP_SELF]?msg=$messaggio");
	}
}
?>

		
		UTENTE:
		<?php
			echo $_SESSION['username'];
		?>
		
		<form name="form_login" method="post" action="">
		   <label>username: <input name="nome" type="text" value=""></label><br>
		   <label>password: <input name="password" type="password" value=""></label><br>
	           <input name="invia" type="submit" value="Invia">
	        </form>

la stringa "visitatore" te la deve stampare quell'echo?:
PHP:
UTENTE:
        <?php
            echo $_SESSION['username'];
        ?>
        
        <form name="form_login" method="post" action="">
           <label>username: <input name="nome" type="text" value=""></label><br>
           <label>password: <input name="password" type="password" value=""></label><br>
               <input name="invia" type="submit" value="Invia">
            </form>

Se la deve stampare li allora prova a scrivere così:
PHP:
<?php
session_start();
 echo $_SESSION['username'];
        ?>
 

marcocorso

Nuovo Utente
25 Giu 2015
3
0
0
avevo già provato ma da errore dicendo che la sessione è già iniziata nella pagina home
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.042
149
63
PR
www.borgo-italia.it
ciao
il sistema migliore è mettere dei var_dump per vedere dove è l'inghippo
PHP:
<?php
session_start();
$_SESSION['username'] = "visitatore"; 
var_dump($_SESSION['username']);
//....
?>
PHP:
<?php
//....
function effettua_login()
{
    var_dump($_POST['nome']);
	$nome      = trim($_POST['nome']);
	//.....
}
//.....
?>
PHP:
<?php
//....
 } else {
        var_dump($nome);
		$_SESSION['username'] = $nome;
		var_dump($_SESSION['username']);
        $messaggio = urlencode('Login avvenuto con successo');
        header("location: $_SERVER[PHP_SELF]?msg=$messaggio");
    }
}
?>
ti conviene uno alla volta, lanciare e verificare, sino a che non trovi l'errore
 

marcocorso

Nuovo Utente
25 Giu 2015
3
0
0
ho provato a inserire i vari var_dump ma, a parte il primo che visualizza correttamente visitatore, gli altri non visualizzano niente nella apgina
 
Discussioni simili
Autore Titolo Forum Risposte Data
Shyson AUTO_INCREMENT non si aggiorna MySQL 2
napuleone non si aggiorna textarea in tempo reale Javascript 3
M [PHP] Query UPDATE che non mi aggiorna campi seconda tabella PHP 3
S Il Css non si aggiorna, svuotata cache HTML e CSS 6
M UPDATE non aggiorna db se lo inserisco in un ciclo Database 1
M [PHP] Menu a tendina dinamico che non si aggiorna PHP 2
D perchè non aggiorna il totale? Javascript 5
Shyson Un form non aggiorna il codice captcha Javascript 0
M query non si aggiorna PHP 3
R La finestra padre non si aggiorna con Chrome Javascript 1
P Problemi nell'update aggiorna un unico utente anche se entro come pallo e non pinco PHP 6
C Non aggiorna pagina in modo corretto con server proxy o Fastweb PHP 6
Shyson Contatore post non si aggiorna in automatico PHP 7
S DB Access non si aggiorna con asp Classic ASP 1
L Aiuto codice PHP: Non aggiorna la tabella!! PHP 13
A l 'antivirus non si aggiorna Sicurezza e Virus 1
PaIkEa Pagina web che non si aggiorna HTML e CSS 4
metalgemini Mysql non mi aggiorna un record PHP 2
Shyson Codice wp-login non funziona PHP 2
S WORDPRESS NON FA INSTALLARE PIU NULLA WordPress 8
Shyson Non mi fa accedere al sito WordPress 12
N Non Autorizzato. Dovresti rimuovere il parametro customize_messenger_channel per visualizzare l'anteprima in frontend. WordPress 1
R INSERT INTO tabella non funziona Classic ASP 2
A Problema, non so, di scale() o transform, oppure altro? HTML e CSS 0
felino Conversione da MPG a MP4: audio non sincronizzato Windows e Software 1
F Telecamere Wi-Fi non si connettono A nvr IP Cam e Videosorveglianza 0
G Finestra di dialogo che non si apre - programma NUENDO Windows e Software 0
L php mysql non salva solo id PHP 21
D Pagina non trovata Wordpress WordPress 7
S connesso, internet non disponibile ( con extebder tp-link850) Reti LAN e Wireless 0
F Script java elenco alfabetico non funziona Javascript 3
F Script non funzionante. Devo elencare in ordine alfabetico un elenco di nominativi, ma lo script non Javascript 2
L Estrazione dati casuali non doppioni MySQL 1
napuleone non si chiude il thead e non si apre il tbody Javascript 0
D Modem Asus non trasmette ogni 3/4 giorni Reti LAN e Wireless 2
M non static method cannot be referenced from a static context Java 1
napuleone Con le date il codice da di matto o forse non è così Javascript 6
M Questa pagina non carica correttamente Google Maps: aiuto!! HTML e CSS 1
M "Internet non disponibile" Reti LAN e Wireless 0
L Non vedo pc in rete Reti LAN e Wireless 0
M Numero random non ripetitivo Java 2
G pc desktop non si connette all'hotspot wifi Reti LAN e Wireless 0
L Non riesco a riprodurre uno sfondo Photoshop 0
N Server mysql non raggiungibile da connessione esterna MySQL 1
R Select concatenata che non funziona la seconda volta Ajax 3
L non duplicare dati in stato "aggiornamento" PHP 6
R [Visual Studio Community] Non trovo il Progetto di Setup .NET Framework 0
zorro file PDF non visualizzo niente PHP 9
D modificare questo codice per inserimento in text e non in tabella jQuery 1
A variabile non riconosciuta PHP 0

Discussioni simili