Ciao a tutti!!
Ho un grosso problema!
Ho creato un sistema di login con php e mysql. Allora la login funziona perfettamente, il problema si presenta quando io, usando le sessioni, cerco di mantenere lo stato di "loggato" navigando tra le pagine del sito.
Il mistero nasce dal fatto che quando io testo lo script in locale, tutto funziona perfettamente, mentre quando lo butto nel server online, non mi mantiene più la sessione tra le pagine! Diciamo che su 10 tentativi la mantiene una volta! COME E' POSSIBILE?!!
Vi prego aiutatemi!
Vi posto il codice (sì è sempre quello, qualcuno sarà nauseato di vederlo...
):
prima pagina (private.php)
codice:
<?php
session_start();
include ("config.inc.php");
$db = mysql_connect($db_host, $db_user, $db_password) or die("Connessione non riuscita: " . mysql_error());
$select = mysql_select_db($db_name, $db) or die ("Errore nella selezione del database. Verificare i parametri nel file config.inc.php");
if (isset($_POST['submit'])){
$usr = trim($_POST['usr']);
$pwd = trim($_POST['pwd']);
$query = "SELECT * FROM tabella_utenti WHERE usr='$usr' AND pwd='$pwd' " ;
$sql = mysql_query($query,$db);
$login_check = mysql_num_rows($sql);
$row = mysql_fetch_array($sql);
$usr = $row['usr'];
if($login_check > 0){
session_register('usr');
header ('location:enter.php');
}
else {
header('location:private.php?login=no'); }
}
mysql_close($db);
?>
<?php include('header.htm'); ?>
<div id="content">
<div id="main" class="box">
<h3>Area Riservata</h3>
<?php
if (isset($_GET['login'])) { $login = $_GET['login'];}
if ($login == no) { print ("<p class=\"errore\">Login errata!!!</p>
"); }
?>
Inserisci username e password nel box sottostante:</p>
</p>
<form name="form1" method="POST" action="private.php">
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td>Nome utente: </td>
<td><input name="usr" type="text" id="usr" class="form" /></td>
</tr>
<tr valign="middle">
<td>Password: </td>
<td><input name="pwd" type="password" id="pwd" class="form" /></td>
<td rowspan="2" width="150"><input name="submit" type="submit" value="Entra" class="form" /></td>
</tr>
</table>
</form>
</div></div>
<? include('footer.htm'); ?>
pagina riservata (enter.php)
codice:
<?php
// Controllo accesso
session_start();
if (!isset($_SESSION['usr']))
{
header('location:private.php?login=no');
exit;
}
// Il resto dello script
Spero che qualche anima buona mi risponda perchè io sto impazzendo! Ho chiesto lumi all'amministratore del mio hosting ma mi dice che per lui è tutto a posto.........