• ModSenior

    Teoricamente, dovrebbe andare.


  • User Attivo

    :mmm:
    Non va...l utente anche se presento nel campo "bannato" continua lo stesso a
    scrivere invere di dare il messaggio Sei bannato:x
    Ti spiego meglio forse c'è stata un po confusione...
    Allora nella tabella minichat ho un campo bannato su cui inserisco i nick che voglio bannare,poi ci stanno altri vari campi e poi c'è il campo id_user che contiene i nick di chi scrive...il confronto quindi dovrebbe avvenire fra il campo id_user e bannato giusto..?
    [PHP]
    <?php
    //Apro la sessione e...
    session_start();
    // Sessione impostata a 10 min
    ini_set('session.gc_maxlifetime', '1800');

    include "config.php"; // file di connessione al Db

    //verifico che dopo il login io abbia la chiave di sessione ad 1
    if($_SESSION['logged']==1)

    //se si... mostra il form per linvio dei messaggi
    echo "
    <img src="bold.gif" OnClick="document.chat.text.value+='****'">
    <img src="italic.gif" OnClick="document.chat.text.value+='**'">
    <img src="faccine/smile.gif" OnClick="document.chat.text.value+=':-)'">
    <img src="faccine/faccia.gif" OnClick="document.chat.text.value+=':-+'">
    <a href="javascript:Popup('faccine.htm')">Apri la popup</a>
    <form action="index.php" name="chat" method="POST">
    <textarea rows="2" id="text" name="text" cols="25"></textarea>
    <input type="submit" value="Invia"><br>"

    ;

    elseif

    (mysql_num_rows(mysql_query("SELECT id_user,bannato FROM minichat WHERE id_user = '".$_SESSION[ 'nickname']. "'" )) > 0)
    die('Sei bannato');
    //altrimenti fai questo...

    else
    echo 'Mi dispiace ma per partecipare alla <br>chat devi prima iscriverti';
    //mi collego alla tabelle che contiene i nick bannati
    echo "SELECT id_user,bannato FROM minichat WHERE id_user = '".$_SESSION[ 'nickname']. "'";
    $sql_select="SELECT id_user,bannato FROM minichat";?>
    [/PHP]


  • User Attivo

    Ho notato una cosa...effettuando il logout e provando ad entrare in cha mi da
    "Sei bannato"
    Strano...:?


  • User Attivo

    Succede che quando provo ad entrare in chat da utente non loggato e con il campo bannato della tabella minichat con dei nick voglio bannare dentro mi da
    "Sei bannato" mentre se cancello i nick dal campo bannato mi dice che per scrivere nella chat devo essere registrato..quindi loggato.
    Se invece effettuo il login e il nick di chi effettua il login e presente nel campo bannato fa comunque scrivere nel form anche se non dovrebbe....come mai?

    [PHP]
    <?php
    //Apro la sessione e...
    session_start();
    // Sessione impostata a 10 min
    ini_set('session.gc_maxlifetime', '1800');

    include "config.php"; // file di connessione al Db

    //verifico che dopo il login io abbia la chiave di sessione ad 1
    if($_SESSION['logged']==1)

    //se si... mostra il form per linvio dei messaggi
    echo "
    <img src="bold.gif" OnClick="document.chat.text.value+='****'">
    <img src="italic.gif" OnClick="document.chat.text.value+='**'">
    <img src="faccine/smile.gif" OnClick="document.chat.text.value+=':-)'">
    <img src="faccine/faccia.gif" OnClick="document.chat.text.value+=':-+'">
    <a href="javascript:Popup('faccine.htm')">Apri la popup</a>
    <form action="index.php" name="chat" method="POST">
    <textarea rows="2" id="text" name="text" cols="25"></textarea>
    <input type="submit" value="Invia"><br>"

    ;

    elseif

    (mysql_num_rows(mysql_query("SELECT id_user,bannato FROM minichat WHERE id_user = '".$_SESSION[ 'nickname']. "'" )) > 0)
    die('Sei bannato');
    //altrimenti fai questo...

    else
    echo 'Mi dispiace ma per partecipare alla <br>chat devi prima iscriverti';
    //mi collego alla tabelle che contiene i nick bannati
    echo "SELECT id_user,bannato FROM minichat WHERE id_user = '".$_SESSION[ 'nickname']. "'";
    $sql_select="SELECT id_user,bannato FROM minichat";?>
    [/PHP]


  • ModSenior

    L'ordine era sbaglaito, non ci ho fatto caso prima, prova cosi:
    [php]
    include "config.php"; // file di connessione al Db

    if($_SESSION['logged'] == 1 && mysql_num_rows(mysql_query("SELECT id_user,bannato FROM minichat WHERE id_user = '".$_SESSION[ 'nickname']. "'" )) > 0)
    die('Sei bannato');

    //verifico che dopo il login io abbia la chiave di sessione ad 1
    elseif($_SESSION['logged'] == 1)

    //se si... mostra il form per linvio dei messaggi
    echo "
    <img src="bold.gif" OnClick="document.chat.text.value+='****'">
    <img src="italic.gif" OnClick="document.chat.text.value+='**'">
    <img src="faccine/smile.gif" OnClick="document.chat.text.value+=':-)'">
    <img src="faccine/faccia.gif" OnClick="document.chat.text.value+=':-+'">
    <a href="javascript:Popup('faccine.htm')">Apri la popup</a>
    <form action="index.php" name="chat" method="POST">
    <textarea rows="2" id="text" name="text" cols="25"></textarea>
    <input type="submit" value="Invia"><br>"

    ;
    else
    echo 'Mi dispiace ma per partecipare alla <br>chat devi prima iscriverti';
    [/php]


  • User Attivo

    Ciao,
    allora facendo cosi' mi dice 'Sei bannato' anche se nel campo "bannato"non risulta affatto il nome di quel nick...:?


  • User Attivo

    Ok,
    risolto cambiando la query in cosi':)
    [PHP]
    if($_SESSION['logged'] == 1 && mysql_num_rows(mysql_query("SELECT bannato FROM minichat WHERE bannato = '".$_SESSION[ 'nickname']. "'" )) > 0)
    die('Sei bannato');
    [/PHP]


  • ModSenior

    Sbagliavi il campo? 😄
    Buon proseguimento. 😉


  • User Attivo

    Si,era il campo sbagliato:sbav:
    Ora funziona tutto alla perfezione....
    Grazie;)


  • ModSenior

    Figurati. 😉