Ok,
ho ricavato l'id solo usando la sessione username
Ho cambiato il file di controllo del login in questo modo:
Codice PHP:
<?
session_start();
if (isset($_POST['username']) && isset($_POST['password'])) {
include("config.php");
mysql_connect($db_host,$db_user,$db_password,$db_name) or die ("errore nella connessione");
mysql_select_db("$db_name") or die ("errore nella selezione del database");
$hpw=md5($_POST['password']);
$result=mysql_query("select * from utenti where username='$_POST[username]' and password='$hpw'");
if (mysql_num_rows($result)!=0) {
$valori = @mysql_fetch_assoc($result); //metti i valori del db in un array associativo
//passa i valori come parametro richiamando la pagina
$_SESSION['nome'] = $valori['nome'];
$_SESSION['cognome'] = $valori['cognome'];
header('location: indexbuy.php?='.$_SESSION['username'].'');
} else
echo "Utente non riconosciuto";
}
mysql_close();
?>
Mentre nella pagina indexbuy.php ho questo codice:
Codice PHP:
<?php
session_start();
if (@$_SESSION['username']!=true)
header("location:loginbuy.php");
?>
<?php
include("config.php");
mysql_connect($db_host,$db_user,$db_password,$db_name) or die ("non riesco a connettermi");
mysql_select_db("$db_name") or die ("Non riesco a selezionare il database");
$dati = mysql_query("SELECT * FROM utenti WHERE utente_id='".$_SESSION['username']."'");
$array = mysql_fetch_array($dati);
echo "Benvenuto ". $array['nome'] . " " . $array['cognome'];
mysql_close();
?>
Ora l'url della pagina indexbuy mi viene così
www.miosito.it/indexbuy.php?=3
Ma non è ugualmente pericoloso dal punto di vista della sicurezza?