ciao a tutti... sono di nuovo qui a chiedere consigli.
Sto facendo la parte del login con la guida: Gestire gli utenti con PHP
solo che voglio strutturare la cosa su 2 frame... uno (topFrame) in alto dove metterò il form per il login e il menu con le opzioni che l'utente potrà fare, e il secondo in basso (mainFrame) dove uscriranno i messagi o gli eventuali form per amministrare il db.
Quindi io ho la necessità lanciando uno script su un frame di scrivere sull'altro...
per ora ho messo nel topFrame:
codice:
<form action="login.php<?=$accodaId?>" method="post" target="mainFrame">
La pagina login.php (non ho ancora apportato tutte le modifiche) è così:
Codice PHP:
<?
include("../incPhp/auth.lib.php");
include("../incPhp/config.php");
include ("../incPhp/top_foot.inc.php");
$str = "";
top($str);
list($status, $user) = auth_get_status();
if($status == AUTH_NOT_LOGGED){
$uname = strtolower(trim($_POST['uname']));
$passw = strtolower(trim($_POST['passw']));
if($uname == "" or $passw == ""){
$status = AUTH_INVALID_PARAMS;
}else{
list($status, $user) = auth_login($uname, $passw);
if(!is_null($user)){
list($status, $uid) = auth_register_session($user);
}
}
}
switch($status){
case AUTH_LOGGED:
//header("Refresh: 5;URL=log_menu.php");
//$str = "";
//top($str);
echo '<div align="center">Sei gia connesso!</div>';
break;
case AUTH_INVALID_PARAMS:
/* Reindirizzamento:
header("Refresh: 5;URL=log_menu.php");
$str = "";
top($str);*/
echo '<div align="center">Hai inserito dati non corretti.</div>';
break;
case [COLOR=red]AUTH_LOGEDD_IN:[/COLOR]
switch(auth_get_option("TRANSICTION METHOD")){
case AUTH_USE_LINK:
header("Refresh: 5;URL=home.php?uid=".$uid);
$str = "";
top($str);
break;
case AUTH_USE_COOKIE:
header("Refresh: 5;URL=home.php");
$str = "";
top($str);
setcookie('uid', $uid, time()+3600*365);
break;
case AUTH_USE_SESSION:
header("Refresh: 5;URL=home.php");
$str = "";
top($str);
$_SESSION['uid'] = $uid;
break;
}
echo '<div align="center">Ciao '.$user['name'].'.</div>';
break;
case AUTH_FAILED:
/*header("Refresh: 5;URL=home.php");
$str = "";
top($str);*/
echo '<div align="center">Fallimento durante il tentativo di connessione.</div>';
break;
}
foot();
//chiusura connessione DB
mysql_close($conn);
?>
Quindi i messaggi tipo "già connesso", "Errore dati", "fallimento" me li scrive in mainFrame...e così va bene.
Però vorrei che quando il log va bene (quindi AUTH_LOGEDD_IN=true) in mainFrame esca "Ciao nome" e intanti fare il refresh del menu nel topFrame in modo da testare i permessi e ricostruire il menu a seconda dell'utente.
come posso fare??
Spero di essere stata un pochino chiara...
GRAZIE 1000 a TUTTI