Problema con Script di log-in
Ragazzi, non so se è il posto giusto per fare domande, ma ho un dilemma che non riesco a risolvere:
sto cercando di creare un sito per la mia classe (http://iih.altervista.org se volete vedere username: test e password: test) e fin qua tutto ok. Poi, oggi, metto che io ed il mio amico che lo stiamo creando, quando facciamo il login, ci avvii la sessione admin e mi è andato tutto bene, anche quando mettevo le mie credenziali, mi lasciava andare anche nelle pagine ancora in fase di sviluppo (perché avevo messo
Codice PHP:
<?php
session_start();
if(empty($_SESSION['admin'])){
header('location: /accessdenied.html');
exit;
}
//altri comandi che non servono
?>
e andava).
Sta sera, per qualche "misteriosa forza arcana" ho pasticciato un po' per aggiungere il fatto che nella homepage di diceva "Benvenuto <nome completo dell'utente>..." e così ora mi si è buggato e quando faccio il login con il mio account admin mi reindirizza alla pagina di login con qualsiasi pagina io apra, tranne quelle che sono SOLO accessibili ad administrator (anche con gli altri account admin lo fa).
Ho provato ad aggiungere quando registravo il $_SESSION dell'admin anche quello utente, ma così non mi fa più accedere alle aree riservate!!!
Codice PHP:
<?php
$db = mysql_connect("localhost", "*****", "*****") or die ('Errore durante la connessione');
mysql_select_db("*****", $db) or die ('Errore durante la selezione del db');
$user = $_POST['username'];
$pass = $_POST['password'];
$login = $_GET['login'];
if ( $user && $pass ) {
$user = mysql_real_escape_string($user);
$pass = mysql_real_escape_string($pass);
$sql = "SELECT * FROM *****.membri WHERE uname = '$user' AND pword = '$pass';";
$result = mysql_query($sql);
$row = mysql_fetch_array($result);
$count = mysql_num_rows($result);
$adminsql = "SELECT * FROM *****.admin WHERE uname = '$user' AND pword = '$pass';";
$adminresult = mysql_query($adminsql);
$adminrow = mysql_fetch_array($adminresult);
$admincount = mysql_num_rows($adminresult);
$fnquery = mysql_query("SELECT fullname FROM *****.membri WHERE uname='$user' AND pword='$pass';", $db);
while ( $fnrow = mysql_fetch_array($fnquery, MYSQL_ASSOC) ) {
$fn = $fnrow['fullname'];
}
if($admincount==1){
session_register("admin");
$_SESSION['admin']=$user;
$_SESSION['utente']=$user;
$_SESSION['name']=$fn;
header("location: homepage.php");
}else if($count==1)
{
session_register("utente");
$_SESSION['utente']=$user;
$_SESSION['name']=$fn;
header("location: homepage.php");
}else
{
header("location: error1.php");
}
}else
{
header("location: error2.php");
}
?>
anche se c'è qualche imprecisione o possibile miglioramento da fare, ditemelo per favore.
P.S.: non datemi codici prefatti, per favore, o almeno spiegateli:wink:!
P.S.P.S.: scusate per la lunghezza:oops:!!!
Ah, ancora! Ho già provato a togliere le parti che avevo aggiunto... niente... :cry: