Newsgroup: it.comp.www.php
Titolo: Problema con sessioni

Salve a tutti,
ho un piccolo problema con le sessioni. di seguito riporto lo script 
incriminato...
<?php
$user = $_POST['user'];
$pass = $_POST['pass'];
session_start();
session_register('user');
session_register('pass');
$link=mysql_connect("localhost", "root", "");
mysql_select_db("db_peso");
$risultato= mysql_query("select * from tab_utenti where user='$user' and 
pass='$pass';");
if (mysql_num_rows($risultato))
{
	echo "<b>sei stato autenticato con successo.<br><br>";
	$login=1;
	}
	else
	{
		echo "<b>il nome utente o la password sono incorretti. <br>";
		$login=0;
		}
 
if ($login==1)
{
 
	while($riga=mysql_fetch_array($risultato))
	{
		$nome_utente= $riga['nome'];
		$cognome_utente= $riga['cognome'];
	echo  "Bentornato $nome_utente $cognome_utente,";
 
	}
 
	echo "<FORM METHOD=POST ACTION=\"inserisci_peso.php\">";
	echo "<p>Inserisci il tuo peso:";
	echo "<br><input type=text name=peso value=\"\">";
	echo "<br><input type=submit  value=\"Inserisci\">";
 
 
}
else
{
	echo "non puoi accedere";
	echo "<a href=index.html> menu iniziale</a>";
}
mysql_close($link);
?>
il problema si presenta quando richiamo lo script inserisci_peso.php dal 
quale richiamo le variabili "user" e "pass" :
<?php
session_start();
$peso = $_POST['peso'];
$link=mysql_connect("localhost", "root", "");
mysql_select_db("db_peso");
echo $user;
echo $pass;
?>
mi compare un messaggio di errore dicendomi che le variabili "user" e 
"pass" non sono definite (dovrebbero esserlo in quanto le ho 
"registrate" nello script precedente.
grazie a tutti coloro che mi daranno una mano.

Giuseppe ha scritto:

prova così:
@session_start();
$HTTP_SESSION_VARS["User"] = $_POST['user'];
$HTTP_SESSION_VARS["Password"] = $_POST['pass'];
scusa l'intromissione (chi si fa i c@@@i suoi campa cent'anni e forse io 
non ci arriverò :-)) però fossi in te non mi collegherei al db come root.
ciao
enrico

 enrico
nulla di fare...ecco l'errore che mi compare:
Notice: Undefined variable: user in d:\easyphp1-8\www\peso\login.php on 
line 14
Notice: Undefined variable: pass in d:\easyphp1-8\www\peso\login.php on 
line 14
p.s. so che non è cosa buona e giusta collegarsi come root al db ma sto 
solo facendo qualche prova con easyphp... ;)

 on line 14
Non sono errori, sono notice.
<?php
session_start();
$_SESSION['user'] = isset($_POST['user']) ? $_POST['user'] : '';
$_SESSION['pass'] = isset($_POST['pass']) ? $_POST['pass'] : '';
-- 
I am what I am, I do what I can
Sei un newbie? Leggi questo 
http://url.repository.biz/go/3C
Vuoi supportarmi? 
http://url.repository.biz/go/3E
Do. Or do not. There is not try.


Ma hai register_globals = On ?
Se, come dovrebbe, è disattivato, devi recuperarle così le variabili:
echo $_SESSION['user'];
echo $_SESSION['pass'];
Poi per quanto riguarda gli altri consigli che ti hanno dato sono tutti
validi, in particolare anche quello di non collegarti al db come root,
anche se in locale. Metti che sbagli una query SQL e fai qualcosa che
NON dovrebbe essere permesso ad un utente normale... puoi contenere i danni!
-- 
Stéphane Bisinger
Webmas... well...

Stéphane Bisinger ha scritto:

Bingo !!! register_globals era settato su off.
problema risolto !
Grazie a tutti !