Visualizzazione dei risultati da 1 a 10 su 10
  1. #1

    Chat Spostare Utenti Da Una Stanza All'altra

    Ciao ragazzi,
    come ben sapete stò smanettando con sta benedetta chat, ora mi stò affrondando un altro problema, in pratica vorrei spostare gli utenti da una stanza all'altra.
    Allora ho una Tabella nel database online con id_online user_online ecc e LUOGO_ONLINE che sarebbe la stanza in cui si trova l'utente attualmente.
    In pratica ho un mezzo giochetto, cioè un utente ha 100 di vita e perde questa vita xkè viene sparato dovrebbe essere mandato in Prigione.
    Il codice che ho scritto è il seguente:
    Codice PHP:
    $motto "Prigione";
    $Nome "Sovietiko";
    $MSG_CHAT3 "$Nome è stato sconfitto da $USERNAME";
    $TIPOCHAT2 "Motto";

    $sql = ("SELECT LUOGO_ONLINE FROM online WHERE USER_ONLINE='$Nome'");
    $query = @mysql_query ($sql$connessione) or die(mysql_error());
    while (
    $row=mysql_fetch_array($query)){
    $LOCAZIONESOVI $row['LUOGO_ONLINE'];
    }
    $sql = ("SELECT SALUTE FROM users WHERE username='$Nome'");
    $query = @mysql_query ($sql$connessione) or die(mysql_error());
    while (
    $row=mysql_fetch_array($query)){
    $salute $row['SALUTE'];
    }
    if(
    $salute <= && $LOCAZIONESOVI == 'Piazza') {
    $sql = ("INSERT INTO CHAT (LUOGO_CHAT,USER_CHAT,URLSESSO_CHAT,SESSO_CHAT,CASATA_CHAT,DATA_CHAT,MSG_CHAT,TIPO_CHAT,URLCORP_CHAT,SIMB_CHAT,CARICA_CHAT) VALUES ('$LOCAZIONE','$_SESSION[USERNAME]','$_SESSION[URLSESSO]','$_SESSION[SESSO]','$_SESSION[CASATA]','$DATAMSG','$MSG_CHAT3','$TIPOCHAT2','$_SESSION[SIMBOLO]','$_SESSION[CORPORAZIONE]','$_SESSION[CARICA]')");
    $query = @mysql_query ($sql$connessione) or die(mysql_error());
    $sql = ("UPDATE online SET luogo_online='$motto' WHERE user_online='$Nome'");
    $query = @mysql_query ($sql$connessione) or die(mysql_error());
        } 
    Nel database il LUOGO_ONLINE cambia in Prigione xò dal browser si vede sempre che stà nella "Piazza"..
    Come posso fare in modo che anche del Browser mi visualizzi che l'utente è in Prigione?

    Spero di essere stato chiaro, Grazie, Saluti.
    Admin & Webmaster di Sovietiko.com

  2. #2
    Utente di HTML.it
    Registrato dal
    Nov 2004
    Messaggi
    483

    Re: Chat Spostare Utenti Da Una Stanza All'altra

    Se non ho capito male è xke fai in ordine sbagliato le query... xke prima fai la query che vede dove è l'utente...


    $sql = ("SELECT LUOGO_ONLINE FROM online WHERE USER_ONLINE='$Nome'");
    $query = @mysql_query ($sql, $connessione) or die(mysql_error());
    while ($row=mysql_fetch_array($query)){
    $LOCAZIONESOVI = $row['LUOGO_ONLINE'];
    }
    Poi fai l'aggiornamento mettendolo in prigione:

    $sql = ("UPDATE online SET luogo_online='$motto' WHERE user_online='$Nome'");
    $query = @mysql_query ($sql, $connessione) or die(mysql_error());
    }
    Ma a questo punto... il dato nel database è si cambiato... ma tu l'avevi letto prima della modifica... e quindi lo vedi come "Non aggiornato"...

    In altre parole:

    1) leggi dal database che l'utente è in piazza e salvi il valore in $LOCAZIONESOVI
    2) metti l'utente in prigione facendo l'update
    3) a questo punto se stampi il valore di $LOCAZIONESOVI è giusto ke trovi stampato piazza... xke quella variabile l'avevi salvata prima dell'update...
    quindi dovresti rifare la select che controlla dove si trova l'utente... e allora si che ora vedi il dato aggiornato...e quindi lo trovi correttamente in prigione

    ...sempre se ho capito bene quello ke dicevi..

  3. #3
    Ciao, grazie per la risposta.
    Il problema non è che lo sposta prima o dopo, tanto c'è un lag di 1 secondo che sarebbe il refresh.
    Il problema è che nel client risulta che stà nella stanza "Piazza" invece di stare in "Prigione"..

    In poche parole voglio sapere come fare in modo che al client risulta di stare nella "Prigione".

    Nel Database l'utente risulta in prigione, anche "Sparando" un altra volta il controllo dice che l'utente non è presente nella stanza. Per cui il problema rimane al client che visualizza i messaggi contenuti nella "Piazza" mentre dovrebbe essere situato in "Prigione".

    Grazie, Saluti.
    Admin & Webmaster di Sovietiko.com

  4. #4
    devi usare anche javascript.

    a quanto pare stai facendo un gdr, e l'ho fatto anche io in passato.

    nella pag dei messaggi, che si refresha devi fare un controllo

    if($vita_pg <= '0') {

    se la condizione è valida fa partire un Alert javascript tipo "SEI MORTO!!!" quando l'utente clicca su ok viene rispedito in prigione.

    questa tecnica t servirà anche per bannare gli utenti
    http://codecanyon.net/category/all?ref=Manuelandro
    And I bet she told a million people that she'd stay in touch, Well all the little promises they dont mean much,When theres
    memories to be made

  5. #5
    Grazie! hai beccato quasi in pieno il mio scopo
    Cmq di javascript non ne capisco na cippa.. Potresti essere più esplicito? o magari darmi qalche straccio di codice...

    Grazie, Saluti.
    Admin & Webmaster di Sovietiko.com

  6. #6
    Scusa, ma non devo mettere un controllo del genere sarebbe troppo "Brutto". Mi serve qualcosa che gli faccia cambiare la stanza in automatico.

    Nel database risulta in prigione ma a livello grafico come permetto il cambio di stanza in automatico?

    Help pls.. Saluti.
    Admin & Webmaster di Sovietiko.com

  7. #7
    Originariamente inviato da Sovietik
    Scusa, ma non devo mettere un controllo del genere sarebbe troppo "Brutto". Mi serve qualcosa che gli faccia cambiare la stanza in automatico.

    Nel database risulta in prigione ma a livello grafico come permetto il cambio di stanza in automatico?

    Help pls.. Saluti.

    allora puoi provare lo stesso controllo ma facendo partie un header location
    http://codecanyon.net/category/all?ref=Manuelandro
    And I bet she told a million people that she'd stay in touch, Well all the little promises they dont mean much,When theres
    memories to be made

  8. #8
    Già provato ma non lo sposta.
    Ora ho trovato un piccolo script in java
    codice:
    <script language="JavaScript">
    <!--Script
    var time = null
    function move() {
    window.location = 'ChatFrameSet.php?LOCAZIONE=Prigione'
    }
    //-->
    </script>
    <body onload="timer=setTimeout('move()',1000)">
    L'unico problema è che mi accavalla le stanze, cioè rimane la stanza "Piazza" e al suo interno si apre la stanza "Prigione" :S

    Come posso risolvere? Grazie ancora, Saluti.
    Admin & Webmaster di Sovietiko.com

  9. #9
    a parte che:
    1) quello è javascript e non java
    2) dovresti postare sul forum di js

    se ti si accavallano le stanze è perchè stai facendo casino con i frame.... Non so come sia organizzata la tua pagina, ma devi dare l'attributo al nick per comandare l'apertura in un frame di livello superiore a quello della chat... Chiedi in un altro forum, ti darei una mano ma in js faccio più casini che altro, sono alle prime armi
    Questa e' la mia firma! Lo so, e' una mezza schifezza.
    Un sito
    - skype non è per consulenze online -

  10. #10
    Originariamente inviato da iraiscoming223
    a parte che:
    1) quello è javascript e non java
    2) dovresti postare sul forum di js

    se ti si accavallano le stanze è perchè stai facendo casino con i frame.... Non so come sia organizzata la tua pagina, ma devi dare l'attributo al nick per comandare l'apertura in un frame di livello superiore a quello della chat... Chiedi in un altro forum, ti darei una mano ma in js faccio più casini che altro, sono alle prime armi
    1) Ho messo Java come abbreviazione (ma ho sbagliato)
    2) Di js utilizzo solo il refresh per spostare l'utente.
    Effettivamente si crea un casino con gli iframe. Provo a postarli sperando che qualcuno sappia illuminarmi:
    codice:
    QUESTO IL FILE PRINCIPALE
    <?
    session_start();
    include "controlla_login.php";?>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <title>Prova Chat</title>
    </head>
    
    <frameset cols="120,*" frameborder="NO" border="0" framespacing="0">
      <frameset rows="30,*" frameborder="NO" border="0" framespacing="0">
    		<frame src="refresh.php" name="topFrame" scrolling="NO" noresize>
    		<frame src="leftframe.php" name="leftFrame" scrolling="NO" noresize>
      </frameset>
      <frame src="mainframe.php" name="mainFrame">
    </frameset>
    <noframes><body>
    </body></noframes>
    </html>
    Il file refresh.php aggiorna le sessioni e controlla il login.
    Il file leftframe.php mi include il menù.
    e il mainframe.php include la mappa in flash. La mappa ha dei bottoni che fanno il redirect alle varie Stanze, sempre usando il codice "chat/ChatFrameSet.php?LOCAZIONE=Prigione"
    Questi sono i "iframe" utilizzati..
    Se qualcuno sà aiutarmi.. Grazie, Saluti.
    Admin & Webmaster di Sovietiko.com

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.