Ho fatto moltissime prove modificando il codice che ho scritto, ma fino ad ora non sono riuscito a capire dov'è che sbaglio. Dunque, io ho realizzato delle pagine PHP per un sito, quelle che ora vi sottopongo sono 4:
- pagina LOGIN.HTM, la quale contiene un form per il login appunto
- pagina LOGIN.PHP, viene immediatamente dopo la prima e controlla che i dati siano presenti nel database, quindi inizializza una sessione e setta alcune variabili di sessione utilili durante la navigazione.
queste due lavorano correttamente. Ora però io mi sono posto un problema, ossia voglio che in alcune pagine del mio sito, venga controllata l'identità del navigatore, quindi ho creato una pagina chiamata MATCH.PHP della quale vi sottopongo il codice:
si può ben vedere come questa sia una funzione richiamabile da qualsiasi pagina. Infatti, la pagina LOGIN.PHP rimnda diciamo alla pagina principale che ho chiamato SESSION2.PHP, la quale inizia così:Codice PHP:<?
function Controlla($id, $nome, $password)
{
include('db.php');
$query = "SELECT nome, pass FROM giocatori WHERE stato <> 'INATTIVO' AND id = $id LIMIT 1";
$result = mysql_query($query, $db) or die ( mysql_error() );
$match = 0;
$row = mysql_fetch_array($result);
if($row['nome'] == $nome && $row['pass'] == $password)
{
$match++;
}
if($match != 1)
{
header('Location: ../login.htm');
exit;
}
}
?>
mi sembra di aver scritto tutto correttamente, infatti quando testo il tutto online, non viene generato nessun errore (vedi ad esempio la pagina MATCH.PHP alla riga "$result = mysql_query($query, $db) or die ( mysql_error() );" la pagina resta bianca, la query che viene generata per il controllo è corretta, ma la pagina va in errore apparentemente senza motivo.Codice PHP:<?
session_start();
include('includes/match.php');
$id = $_SESSION['idplayer'];
$nome = $_SESSION['nome'];
$password = $_SESSION['pass'];
Controlla($id, $nome, $password);
include('includes/db.php');
?>
Non so se mi sono spiegato, ma avete idea del perchè accade tutto ciò?

Rispondi quotando
come si fa a inserire il codice colorato
