Controllo Esili postato il 23/12/2009 21:00:55 nel forum programmazione, gdrcd e open source e modificato da nodd il 23/12/2009 21:24:25
Allora come sempre c'ho un problema e non riesco a spiegarmi il motivo.
In pratica,nella tabella utente,quando un personaggio ha nella colonna Esilio = 1 e tenta di fare il login, allora l'utente non dovrebbe entrare.
Io ho creato appunto un codice in merito,ma non so il xk non me lo calcola proprio,cioè...non mi esegue appunto il codice scritto sottostante...infatti passa"avanti".
Ho controllato la variabile $Nome,e la inizzializza bene.
Forse ci sono degli errori nell'algoritmo???
Qualcuno sa indicarmeli?..Mi sto scemunendo.
Codice:
<?Php
include('./Connessione/connessione.php');
session_start();
$Nome = $_SESSION['nomepg'];
//Controlliamo se l'utente è stato bannato.Se bannato,impossibile entrare,altrimenti entra
$Bannato = "SELECT Nome, Esilio FORM Utente WHERE Esilio = '0' AND Nome = '$Nome'";
$RisultatoBannato = mysql_query($Bannato);
if ($RisultatoBannatoFinale = mysql_fetch_array($RisultatoBannato)) {
echo "L'Utente è stato bannato,impossibile entrare";
exit();
}
?>
Pagine → 1 2
23/12/2009 21:49:29
Beh, intanto per verificare se una query di select ha prodotto risultati dovresti usare mysql_num_rows e non fare un fetch a vuoto.
Poi tu selezioni l'utente che ha nome X e che ha il campo bannato a 0 contemporaneamente.
Quindi se l'utente X e' stato bannato (bannato=1) allora la query produce 0 righe.
In compenso se X non e's tato bannato si dovrebbe bloccare tutto.
Se metti il controllo che bannato sia uguale a 1 invece che a 0 a occhio dovrebbe funzionare.
23/12/2009 23:06:59 e modificato da nodd il 23/12/2009 23:25:35
No,neanche va...
Ho fatto appunto come hai detto te.
<?Php
include('./connessione.php');
session_start();
$Nome = $_SESSION['nomepg'];
//Controlliamo se l'utente è stato bannato.Se bannato,impossibile entrare,altrimenti entra
$Bannato = "SELECT Nome, Esilio FORM Utente WHERE Esilio = '1' AND Nome = '$Nome'";
$RisultatoBannato = mysql_query($Bannato);
$RisultatoBannatoFinale = mysql_num_rows($RisultatoBannato);
if ($RisultatoBannatoFinale == '1') {
echo "L'Utente è stato bannato,impossibile entrare";
exit();
}
$RisultatoBannatoFinale->close;
?>
Ma comunque non da nessun risultato!!!
E come se non lo calcolasse prpr
Poi ho controllato anche nel database...
Il Nome che preleva dal Db coincide con $Nome
e appunto nella tabella utenti,nel campo esilio corrispondente al nome c'è il numero 1
Quindi...???Help
23/12/2009 23:32:34
hai provato a stampare a video con un:
23/12/2009 23:35:54 e modificato da nodd il 23/12/2009 23:40:54
Stampando
echo "$RisultatoBannatoFinale";
echo "$Nome";
Il Nome me lo stampa correttamente,mentre invece $RisultatoBannatoFinale non me lo stampa -.-'....
Ciò però da cosa è dovuto!!!??
Il Database è connesso anche
Ps:Stampando $bannato invece
SELECT Nome, Esilio FORM Utente WHERE Esilio = '1' AND Nome = 'Nando'
Quindi lo stampa correttamente!!!
23/12/2009 23:47:18 e modificato da _sway_ il 23/12/2009 23:47:37
23/12/2009 23:50:03 e modificato da nodd il 23/12/2009 23:50:44
_sway_ è come ho scritto io sovrastante e non va ç.ç!!!
Non mi stampa il numero 1 con la funzione mysql_num_rows e non so il xk!!!
24/12/2009 00:08:47
controlla allora che nel database a quel personaggio sia settato 1 al campo Esilio...
e fatti stampare il risultato di mysql_num_rows
24/12/2009 09:52:41
LOL...
Cavolo non me ne ero prpr accorto :-D..
Ecco,ora va u.u
24/12/2009 10:31:52
°_° allampanati proprio!
Discussione seguita da
Pagine → 1 2
Rispondi alla Discussione Aggiungi ai Preferiti Inoltra Discussione Forum Programmazione, GDRCD e Open Source Elenco Forum
Titan Revenge: Nuovo evento con premi!