Hai ragione scusa.
il mio sito è stutturato con una schermata di login che invia i dati a questa pagina PHP:
Codice PHP:
<?php
session_start(); //inizio la sessione
//includo i file necessari a collegarmi al db con relativo script di accesso
include("connessione_db.php");
include("config.php");
//seleziono il db
mysql_select_db($db_name,$connessione);
//variabili POST con anti sql Injection
$username=mysql_real_escape_string(sha1($_POST['username'])); //faccio l'escape dei caratteri dannosi
$password=mysql_real_escape_string(sha1($_POST['password'])); //sha1 cifra la password anche qui in questo modo corrisponde con quella del db
$query = "SELECT * FROM utenti WHERE users_c = '$username' AND password_c = '$password'";
$ris = mysql_query($query, $connessione) or die (mysql_error());
$riga=mysql_fetch_array($ris);
/*Prelevo i dati */
$id=$riga['id'];
$cod=$riga['users_c'];
$utente=$riga['users'];
$autorizzazione=$riga['autorizzazione'];
/* Effettuo il controllo */
if ($cod == NULL)
$trovato = 0 ;
else
$trovato = 1;
/* Username e password corrette */
if($trovato == 1) {
/*Registro la sessione*/
session_register('autorizzato');
$_SESSION["autorizzato"] = 1;
/*Registro il codice dell'utente*/
$_SESSION['id'] = $id;
$_SESSION['cod'] = $cod;
$_SESSION['autorizzazione'] = $autorizzazione;
$_SESSION['utente'] = $utente;
/*Redirect alla pagina riservata*/
echo '<script language=javascript>document.location.href="/FilePubblici/privato.php"</script>';
} else {
/*Username e password errati, redirect alla pagina di login*/
echo '<script language=javascript>document.location.href="index.php"</script>';
}
?>
e questa pagina funziona alla perfezione e rimanda ad una pagina pubblica che qualunzue utente loggato correttamente può vedere e li c'è un link che manda alla propria pagina privata strutturata così:
Codice PHP:
<?php
session_start();
$autorizzazione = $_SESSION['autorizzazione'];
$utente = $_SESSION['utente'];
$id = $_SESSION['id'];
//se non c'è la sessione registrata
if (!session_is_registered('autorizzato')) {
echo "<h1>Area riservata, accesso negato.</h1>";
echo "Per effettuare il login clicca <a href='/index.php'><font color='blue'>qui</font></a>";
die;
}
$dir = explode("/", __DIR__);
$_path=$dir[4];
if($_path!=$id AND $autorizzazione!='Amministratore'){
echo "<h1>Area riservata ad un altro utente.</h1>";
echo "Per effettuare il login clicca <a href='/index.php'><font color='blue'>qui</font></a>";
die;
}
session_start();
$query = "SELECT users FROM utenti WHERE id = 2";
$_aUtente = mysql_query($query, $connsessione)or die("Errore nella query: " . mysql_error());
//Altrimenti Prelevo il codice identificatico dell'utente loggato
session_start();
echo "<a href='/FilePubblici/privato.php'>Sezione Pubblica</a>";
?>
<!DOCTYPE html>
<html>
<head>
<title>Staffo</title>
<link href="privato.css" rel="stylesheet" type="text/css" />
</head>
<body>
<?php
echo "<h1>Benvenuto $_aUtente</h1>";
?>
</body>
</html>
e questo mi si blocca su
Codice PHP:
$_aUtente = mysql_query($query, $connsessione)or die("Errore nella query: " . mysql_error());
facendomi visualizzare solo "Errore nella querry" e senza aggiungere un "mysql_errore()"
Grazie e scusate per prima, se i file ancora non dovrebbere bsatare chiedetemi pure cos'altro vi necessita