Ecco qua il codice riscritto per bene. Questa pagina se non viene inclusa funziona, quando la includo, invece, non refrescia:
codice:
<?php
include_once("include/config.php");
include_once("include/auth.lib.php");
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=home.php");
echo '<div align="center">Sei gia connesso ... attendi il reindirizzamento</div>';
break;
case AUTH_INVALID_PARAMS:
header("Refresh: 5;URL=home.php");
echo '<div align="center">Hai inserito dati non corretti ... attendi il reindirizzamento</div>';
break;
case AUTH_LOGEDD_IN:
switch(auth_get_option("TRANSICTION METHOD")){
case AUTH_USE_LINK:
header("Refresh: 5;URL=home.php?uid=".$uid);
break;
case AUTH_USE_COOKIE:
header("Refresh: 5;URL=home.php");
setcookie('uid', $uid, time()+3600*365);
break;
case AUTH_USE_SESSION:
header("Refresh: 5;URL=home.php");
$_SESSION['uid'] = $uid;
break;
}
echo '<div align="center">Ciao '.$user['name'].' ... attendi il reindirizzamento</div>';
break;
case AUTH_FAILED:
header("Refresh: 5;URL=home.php");
echo '<div align="center">Fallimento durante il tentativo di connessione ... attendi il reindirizzamento</div>';
break;
}
?>
Un'altra causa del fatto che la precende non refrescia, può essere che da questa non venga inviata bene la variabile, vedi parte sottolineata.
codice:
<?php
include_once("include/config.php");
include_once("include/auth.lib.php");
list($status, $user) = auth_get_status();
if($status == AUTH_LOGGED & auth_get_option("TRANSICTION METHOD") == AUTH_USE_LINK){
$link = '&uid='.urlencode($_GET['uid']);
}else $link = '';
?>
<html>
<head>
<title>Home Page</title>
</head>
<body>
<div align="center">
<table cellspacing="2">
<tr>
<td>Inserimento offerte speciali</td>
</tr>
</table>
<?php
switch($status){
case AUTH_LOGGED:
?>
Sei loggato con il nome di <?=$user["name"];?> Logout
<?php
break;
case AUTH_NOT_LOGGED:
?>
<form action="index.php?voce=login<?php print ($link);?>" method="post">
<table cellspacing="2">
<tr>
<td>Nome Utente:</td>
<td><input type="text" name="uname"></td>
</tr>
<tr>
<td>Password:</td>
<td><input type="password" name="passw"></td>
</tr>
<tr>
<td colspan="2"><input type="submit" name="action" value="login"></td>
</tr>
</table>
</form>
<?php
break;
}
?>
</div>
</body>
</html>
Che ne pensate?
Ripeto senza includerle funzionano, quindi credo dipenda da quel form che non invia, oppure dall'altra pagina che per qualche motivo quando è inclusa non reflescia
Lore