Sto creando un'applicazione funzionante in locale. La pagina index comprende un form di login, se l'utente ha inserito la userid e la password giuste viene inoltrato ad una pagina protetta, se no compare un messaggio di errore.
Copiando lo stesso codice da un mio sito che funziona in remoto, faccio partire l'applicazione in locale. Risultato? Nonostante legga che i dati siano corretti, non mi fa accedere alle pagine protette.
Ho allora impostato:
safe mode=On
session.use.trans_id=1
Adesso mi funziona, ma mi compare il PHPSESSID nella barra degli url, cosa che non può essere concepita per l'applicazione che sto facendo.
Provando a cambiare il session.use.trans_id impostandolo a 0, tutto non mi funziona. Premetto che ho i cookie abilitati, sia sul browser sia all'utilizzo nel php.ini.
Che devo fare?
Vi posto il codice che ha ogni pagina protetta:
Codice PHP:
<?php
@session_start();
// controllo autorizzazione utente
if (!session_is_registered('autorized')) {
echo "<h1>Area riservata, accesso non consentito</h1>";
die;
}
?>
Questo è il codice che mi riceve i dati dal form di login e reindirizza:
Codice PHP:
<?php
include("PHP/connessione.php");
$i=0;
$user=$_POST['userid'];
$pass=$_POST['passwd'];
$query = "SELECT * FROM utenti WHERE (username LIKE '$user') AND (user_password LIKE '$pass')";
$risultato = mysql_query($query) or die (mysql_error());
$check = mysql_num_rows($risultato);
if($check>0){
@session_register('autorized');
$autorized = 1;
echo "Sei autorizzato ad entrare [url='home.php']Accedi[/url]";
}
else
{
echo "NON sei autorizzato ad entrare [url='index.php']Indietro[/url]";
}
?>
Cosa sbaglio? Datemi qualche suggerimento perchè non so proprio che fare... Vi ringrazio anticipatamente...