Salve gente
Ho programmato tutta la notte con molte soddisfazioni (stranamente risultava tutto subito) ma ecco che qualcosa va storto.
Nel mio database ho una tabella per gli utenti registrati con dei campi quali:
Username
Password
Privilegi
Privilegi potrà essere 1 o 0.
Nel caso sia 1 potrà avere accesso ad una pagina di amministrazione.
Il login e la verifica dei Privilegi la effettuo in questo modo (da premettere che è solo l'essenziale, una pagina di test):
In questo modo se l'utente che prova il login ha i permessi necessari spunta la scritta Avanti, altrimenti niente (questo funziona perfettamente, magari se avete consigli essendoci arrivato per logica a scrivere in questo modo).Codice PHP:<html>
<head>
<title>001</title>
</head>
<body>
<?php
//Connessione database
$connect = new mysqli("localhost", "username", "password", "db");
// verifica dell'avvenuta connessione
if (mysqli_connect_errno()) {
// notifica in caso di errore
echo "Errore nella connessione!";
// interruzione delle esecuzioni i caso di errore
exit();
}
else {
$permessi=10; // in caso di connessione attiva
if(isset($_POST['submit'])){
$query=("SELECT Username, Pass, Permessi FROM utenti");
$risultato = mysqli_query($connect, $query);
while($array = mysqli_fetch_array($risultato, MYSQLI_ASSOC)){
if($array["Username"]==$_POST['username'] && $array["Pass"]==$_POST['pass']){
$_SESSION['Username']=$_POST['username'];
if($array["Permessi"]==1) printf("Avanti");
}
}
}
}
$connect->close();
?>
<form method="post" id="modulo">
<table>
<tr><td valign="top"><span>Username:</span></td><td><input value="<?= $_POST['username'];?>" name="username" type="text" id="username" /></td></tr>
<tr><td valign="top"><span>Password:</span></td><td><input value="<?= $_POST['pass'];?>" name="pass" type="password" id="pass" /></td></tr>
<tr><td></td><td>
<input type="submit" name="submit" id="submit" value="Invia" />
</tr></td>
</table>
</form>
</body>
</html>
Per verificare la connessione sulle altre pagine ho visto in giro (compresi decine di post presenti su Altervista) ma l'uso di session_start() e $_SESSION non mi è ancora ben chiaro (ho letto pure la guida ufficiale php![]()
).
E' corretto l'uso di $_SESSION nel codice postato in precedenza?
Nelle altre pagine, per verificare se l'utente è loggato, faccio in questo modo utilizzando session_start();:
Qualcuno sa spiegarmi bene dove sbaglio?Codice PHP:<?php
session_start();
if (isset($_SESSION['Username'])) echo "Utente loggato";
?>
Thanks..

LinkBack URL
About LinkBacks


