Ciao a tutti....
deve eseere una cavolata ma non riesco mica a capire dove sbaglio.....
in breve:
ho creato le prime pagine del mio sito.....
questa l'idea:
dalla home l'utente deve loggarsi e al primo login(ma solo al primo) accede a una pagina di raccolta dati nometeam.php dove dovrà settarsi una variabile(diciamo il nome del suo team). immessi i dati si ritroverà nella sua pagina personale main.php.
se riaccedesse in seguito al sito, loggandosi, non passerebbe più dalla pagina di inserimento nome team, ma entrerebbe direttamente nella main.php personale.
questo lo sviluppo:
dalla pagina index attraverso un form, invio in post user e psw alla login.php effettuando il login.
la pag login.php mi esegue una query sul db per verificare la correttezza dei dati inseriti
e effettuo un primo if per distinguere i casi. se la query va a buon fine(sono loggato) eseguo altro codice altrimenti(sbaglio psw ad esempio) ritorno con un header alla index.
quando passo questo controllo e accedo al codice successivo effettuo una seconda query:
vado nella mia tabella utenti a cercare il campo "flag" che valore ha.
il campo flag è numerico con valore predefinito "0".
ho associato il valore "0" a chi non ha mai effettuato un login e quindi dato un nome alla sua squadra e un valore "1" a chi già ha effettuato questa procedura.
letto il valore con un if invio l'utente a due pagine diverse
se l'utente è al suo primo login, il campo in tabella sarà "0" e verra inviato alla nometeam.php dove inserirà il nome, verrà inviato poi alla sua pagina personale main.php e il suo valore in tabella verrà aggiornato a 1.
se l'utente si era già loggato, il valore in tabella di "1" lo porterà direttamente alla sua pagina personale main.php evitando il passaggio dalla nometeam.php.
però qualcosa non va i quest'ultimo if.....in entrambi i casi (sia con utente "vergine" che con utente già loggato), vengo sempre inviato direttamente alla pagina personale main.php.
Qualcuno sa trovarmi l'inghippo? dove sbaglio? ecco il codice
Codice PHP:
// $rs è la query di controllo user e psw portati nelle variabili $user e $psw
if ($rs)
{
session_start();
$_SESSION['user'] = $user;
$_SESSION['id'] = session_id();
$rs->close;
// se passo il test effettuo la seconda query per vedere se l'utente è alla sua prima volta
// questo lo deduco dal suo valore in tabella del campo flag impostato a '0' di default
$MySql = "SELECT flag FROM utenti WHERE user = '$user'";
$Result = mysql_query($MySql);
// letto il valore lo passo a una variabile che uso per il seguente if...
$team = $Result;
if ($team == '0') {
$Result->close;
header("Location: teamname.php"); // prima volta in login
exit;
}
$Result2->close;
header("Location: main.php"); // pagina personale
exit;
}
else
{
$rs->close;
header("Location: index.php?error=1"); // non passo il test user/psw
exit;
}