Visualizzazione risultati 1 fino 7 di 7

Discussione: Chat offline non funzionante

  1. #1
    Guest

    Predefinito Chat offline non funzionante

    Salve a tutti, vi spiego il problema. Nel mio sito web ho creato una chat privata e davvero ci ho messo tanta fatica per crearla. Ho creato 2 tabelle chiamate "utenti_online" e "utenti_offline". Quando eseguo il login, il mio username sarà messo nella tabella "utenti_online", quando disattivo la chat, il mio username sarà cancellato da quella tabella e portato alla tabella "utenti_offline". Però, quando voglio riattivare la chat, dovrebbe cancellarmi l'username da quella tabella e portato alla tabella "utenti_online", invece non succede nulla! Come mai? Vi posto il codice:

    Codice PHP:
    <div style='border: 1px solid black; height: 350px; width: 240px; background-color: silver; position:absolute; left: 10px; top: 60px; overflow-y:scroll;'><b><center>Amici online:
    <?php
    if(!isset($_POST['chat'])){
    echo
    '<form method="post" action="/home.php">
    <input type="submit" name="chat" value="Disattiva chat">
    </form>'
    ;
    } else {
    $chat = mysql_real_escape_string($_POST['chat']);
    mysql_query("DELETE FROM utenti_online WHERE username = '$my_username'");
    mysql_query("INSERT INTO utenti_offline (username) VALUES ('$my_username')");
    if(!isset(
    $_POST['chat2'])){
    echo
    '<form method="post" action="/home.php">
    <input type="submit" name="chat2" value="Attiva chat">
    </form>'
    ;
    } else {
    $chat2 = mysql_real_escape_string($_POST['chat2']);
    mysql_query("DELETE FROM utenti_offline WHERE username = '$my_username'");
    mysql_query("INSERT INTO utenti_online (username) VALUES ('$my_username')");

    }
    }
    ?>
    </center></b><hr>
    <?php

    $query
    = mysql_query("SELECT * FROM utenti_online WHERE username = '$username'");
    $quanti = mysql_num_rows($query);
    if (
    $quanti == 0)
    {
    echo
    '<center>Nessun amico online!</center>';
    } else {

    for(
    $x=0; $x<$quanti; $x++)
    {
    $rs = mysql_fetch_row($query);
    $username = $rs[0];

    if(
    mysql_num_rows(mysql_query("SELECT * FROM amici WHERE username='$my_username' AND amico='$username'")) == 0) {
    echo
    "<center>Nessun amico online!</center>";
    } else {

    echo
    '<center><li><span class="lol">'. $username .'<p></span></li>';

    }
    }
    ?>

    <style>
    li {
    color: green;
    }
    .lol {
    color: black;
    }
    </style>

    <?

    }
    ?>
    Sto esaurendo, aiutatatemi! Ripeto il problema: quando attivo la chat, deve cancellarmi il mio username dalla tabella utenti_offline e portato alla tabella utenti_online, invece non succede nulla. Quando disattivo la chat il mio username viene cancellato dalla tabella utenti_online e portato alla tabella utenti_offline. perché quando la attivo non succede nulla? Grazie in anticipo :)

  2. #2
    L'avatar di saitfainder
    saitfainder non è connesso Sëniör Stäff
    Data registrazione
    06-12-2002
    Residenza
    Torino
    Messaggi
    8,715

    Predefinito

    Ma perché complicarsi la vita con due tabelle? Ne metti una con tutti gli utenti e un campo "stato" in cui indichi se è online o no. A quel punto invece di fare insert e delete fai solo un'update.


    «È una mia peculiarità distorcere la verità e inventarne di nuove.»
    «I tuoi orientamenti hanno su di me un effetto prossimo allo zero.»


  3. #3
    Guest

    Predefinito

    Citazione Originalmente inviato da saitfainder Visualizza messaggio
    Ma perché complicarsi la vita con due tabelle? Ne metti una con tutti gli utenti e un campo "stato" in cui indichi se è online o no. A quel punto invece di fare insert e delete fai solo un'update.
    Quoto in pieno! Perchè oltre che complicarti la vita, rallenti in un modo "bestiale" il sito che poveraccio si deve uccidere di eseguire più di una query =P E di fare tutto sto bordellus

  4. #4
    Guest

    Predefinito

    In poche parole che dovrei fare? Fatemi un esempio o spiegatevi meglio :(

  5. #5
    L'avatar di saitfainder
    saitfainder non è connesso Sëniör Stäff
    Data registrazione
    06-12-2002
    Residenza
    Torino
    Messaggi
    8,715

    Predefinito

    Cos'è che non ti è chiaro di quello che ti ho scritto?


    «È una mia peculiarità distorcere la verità e inventarne di nuove.»
    «I tuoi orientamenti hanno su di me un effetto prossimo allo zero.»


  6. #6
    Guest

    Predefinito

    Cosa devo fare, ecco cosa non mi è chiaro. Come faccio a fare un update se inserisco una altro valore?

  7. #7
    L'avatar di saitfainder
    saitfainder non è connesso Sëniör Stäff
    Data registrazione
    06-12-2002
    Residenza
    Torino
    Messaggi
    8,715

    Predefinito

    Ma perché devi inserirne un altro? Devi solo aggiornare la riga di quell'utente impostandone lo stato "online" o "offline".


    «È una mia peculiarità distorcere la verità e inventarne di nuove.»
    «I tuoi orientamenti hanno su di me un effetto prossimo allo zero.»


Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •