salve,
voglio esporvi il mio problema.
sto seguendo questa guida http://php.html.it/articoli/leggi/90...tenti-con-php/
per poter implementare un semplice login sul mio sito.
non capisco perche una volta connesso dopo un minuto (mi dicono anche subito appena clicchi un altro link - alcuni amici che hanno provato) il menu ritorna ad essere come se non fossi loggato
nella index.php ho
Codice PHP:
//vari tag html...div eccc
<?php include 'menu.php'; ?>
//altri tag html
il file menu.php (in questo file decido se fare visualizzare il menu per utente loggato o un altro menu)
Codice PHP:
<?php
include_once("include/config.php");
include_once("include/auth.lib.php");
list($status, $user) = auth_get_status();
if($status == AUTH_LOGGED){
$msg = '<div id="menu04v"> <ul>[*][url="index.php"]Home[/url]
//qua c'è il resto del menu
[*][url="logout.php"]Logout '.$user['name']. '[/url][/list]</div>';
echo $msg;
}else $msg = '<div id="menu04v">
<ul>
//qua c'è un altro resto del menu
[*][url="loginform.php"]Admin[/url] [/list]</div>';
echo $msg; ?>
il login lo faccio cosi :
loginform.php (questa è praticamente uguale alla guida)
Codice PHP:
<?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=".$_GET['uid'];
}else $link = '';
?>
<?php
switch($status){
case AUTH_LOGGED:
?>
[b]Sei loggato con il nome di <?=$user["name"];?> [url="logout.php<?=$link?>"]Logout[/url][/b]
<?php
break;
case AUTH_NOT_LOGGED:
?>
<form action="login.php<?=$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>
<tr>
<td>
Effettuando il login vedrai funzioni aggiuntive nel menu'
Come prova ho impostato un utente: Username:admin password: admin
</td>
</tr>
</table>
</form>
<?php
break;
}
?>
ora non capisco perche una volta fatto il login mi rimane collegato e mi fa vedere il menu giusto(cambiato) e dopo tipo un minuto che non faccio niente, vado su index.php e
- vedo il menu come se non fossi loggato
- mi esce questo warning
modify header information - headers already sent by (output started at /var/www/html/garage/index.php:12) in /var/www/html/garage/include/auth.lib.php on line 31
grazie per i consigli,
se volete altre spegazioni sono pronto... nn so che puo essere
(non so se sbaglio nel file login.php)
login.php (dalla guida ho cambiato i vai header(...) e ho messo di puntare a index.php)
Codice PHP:
<?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=index.php");
echo '<div align="center">Sei gia connesso ... attendi il reindirizzamento</div>';
break;
case AUTH_INVALID_PARAMS:
header("Refresh: 5;URL=index.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=index.php?uid=".$uid);
break;
case AUTH_USE_COOKIE:
header("Refresh: 5;URL=index.php");
setcookie('uid', $uid, 0);//time()+3600*365);
break;
case AUTH_USE_SESSION:
header("Refresh: 5;URL=index.php");
$_SESSION['uid'] = $uid;
break;
}
echo '<div align="center">Ciao '.$user['name'].' ... attendi il reindirizzamento</div>';
break;
case AUTH_FAILED:
header("Refresh: 5;URL=index.php");
echo '<div align="center">Fallimento durante il tentativo di connessione ... attendi il reindirizzamento</div>';
break;
}
?>
LO so è un post un po pesantuccio :P