per curiosità ho provato a fare come dicevi tu ho inserito sotto l'ob_start() la session_start(); il risultato è stato quello sperato con login effettuata e reindirizzamento alla pagina index.php posto il codice coretto e riveduto grazie ai tuoi consigli, così se qualcuno volesse prendere spunto o approfittare lo può fare benissimo...
form.html
codice:
<form_name="form1"_method="post"_action="login_verify.php">
<td>
_____<table_width="100%"_border="0"_cellpadding="3"_cellspacing="1"_bgcolor="#FFFFFF">_
_________<tr>
_____________<td_colspan="3">Member_Login_</td>
_________</tr>
_________<tr>
_____________<td_width="78">Username</td>_<td_width="6">:</td>
_____________<td_width="294"><input_name="nick"_type="text"_id="nick"></td>
_________</tr>_
_________<tr>
_____________<td>Password</td>_<td>:</td>_
_____________<td><input_name="pass"_type="text"_id="pass"></td>
_________</tr>_
_________<tr>
_____________<td></td>_
_____________<td></td>_
_____________<td><input_type="submit"_name="Submit"_value="Login"></td>
_________</tr>
_____</table>
</td>_
</form>
file login_verify.php richiamato dal form:
Codice PHP:
<?php
ob_start();
session_start();
$log = mysql_connect("localhost","root","") or die("cannot connect");
mysql_select_db("sito", $log) or die("cannot select DB");
// username and password inviati dal form
$nick=strip_tags($_POST['nick']);
$pass=strip_tags(sha1($_POST['pass']));
// protezione MySQL injection
$protect_nick = stripslashes($nick);
$protect_pass = stripslashes($pass);
$protect_nick = mysql_real_escape_string($nick);
$protect_pass = mysql_real_escape_string($pass);
$sql="SELECT * FROM utenti WHERE nickname='$nick' and password='$pass'"; $result=mysql_query($sql);
// Mysql_num_row conta il numero di righe della tabella
$count=mysql_num_rows($result);
// se $myusername e $mypassword danno qualche riscontro, restituisce una sola riga
if($result=mysql_query($sql)){
// registra la sessione
$_SESSION["autorizzato"] = 1;
// $protect_nick, $protect_pass e reindirizza al file "login_success.php"
$_SESSION['nick'] = $protect_nick;
// Redirect alla pagina riservata
echo '<script language=javascript>document.location.href="index.php"</script>';
} else {
// Username e password errati, redirect alla pagina di login
echo '<script language=javascript>document.location.href="main_login.php"</script>';
}
ob_end_flush(); ?>
file check_login da includere nel file index.php:
Codice PHP:
<?php
session_start();
if ($_SESSION["autorizzato"] != 1) {
echo "<h1>Area riservata, accesso negato.</h1>";
echo "
Per effettuare il login clicca <a href='main_login.php'><font
color='blue'>qui</font></a></p>";
die;
}
?>
file index.php la pagina protetta da nick e password:
Codice PHP:
<?php
session_start();
include("check_login.php");
$protect_nick = $_SESSION['nick'];
?>