Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
PHP - Sito in php- AIUTO!!!(problemi con cookie)
Forum - PHP - Sito in php- AIUTO!!!(problemi con cookie)

Pagine: [ 1 2 ] Precedente | Prossimo
Avatar
lalla_4 (Normal User)
Newbie


Messaggi: 12
Iscritto: 14/01/2009

Segnala al moderatore
Postato alle 9:59
Martedì, 12/05/2009
Questo topic è stato chiuso dal moderatore

Ciao a tutti. Mi serve aiuto da voi.
Devo realizzare un sito in php  ho alcuni(grossi problemi).Il testo del progetto è questo:
Codice sorgente - presumibilmente Python

  1. Si vuole realizzare un gioco di avventuare testuale, un omaggio a Zork, che è considerato uno dei più importanti videogiochi di tutti i tempi.
  2.  
  3. Il gioco deve simulare un ambiente composto da stanze, oggetti e personaggi. Tutte e tre queste entità sono caratterizzate da un nome e da una descrizione. Le stanze possono essere collegate ad altre stanze, una per ognuno dei punti cardinali (nord, sud, est, ovest). Inoltre, ogni stanza può contenere un certo numero (potenzialmente illimitato) di oggetti. Ogni personaggio è controllato da un giocatore. Un personaggio può possedere degli oggetti (anch'essi in numero potenzialmente illimitato) e può trovarsi in uno di due stati: on-line o off-line. Se è on-line si trova virtualmente in una delle stanze del gioco, e può compiere una delle seguenti azioni:
  4.  
  5. prendere un oggetto che sta nella stanza;
  6. lasciare nella stanza un oggetto che si possiede;
  7. spostarsi su una stanza adiacente.
  8.  
  9. Se è off-line è fuori dal gioco, ma conserva tutti gli oggetti che possiede.
  10.  
  11. L'applicazione deve avere due sezioni distinte: una riservata agli amministratori, accessibile solo tramite password, ed una pubblica. Quella riservata serve a creare gli oggetti del gioco (stanze, oggetti e personaggi), quella pubblica per giocare. Esaminiamo prima la parte pubblica.
  12.  
  13. Un utente che si collega al sito può scegliere uno dei personaggi che sono al momento off-line. Il personaggio diventa on-line e l'utente inizia a controllarlo. Si può spostare da una stanza all'altra, raccogliere e lasciare oggetti. Quando il personaggio entra in una nuova stanza, il gioco deve visualizzare la descrizione della stanza, e l'elenco degli oggetti e degli altri personaggi che si trovano in quella stanza. Deve essere possibile per il giocatore conoscere l'elenco degli oggetti in suo possesso e vedere la descrizione dettagliata degli oggetti e dei personaggi nella stanza.
  14.  
  15. Quando l'utente non vuole più giocare, può rimettere off-line il personaggio. Ogni personaggio va automaticamente off-line se non è usato da almeno 10 minuti.
  16.  
  17. Nella parte privata deve essere possibile creare, modificare e cancellare stanze, oggetti e personaggi. Deve essere possibile specificare la posizione iniziale dei nuovi oggetti e i collegamenti tra le stanze.


Il problema che non riesco proprio a risolvere è come mandare automaticamente un personaggio off-line dopo dieci minuti che non lo uso pìù(e secondo me non usare più signigica che non viene ricaricata la pagina).
Se c'è qualcuno che oltre a risolvere questo problema volesse aiutarmi anche con il resto del sito sarei molto grata. Contattatemi e vi invio quello che ho scritto fino ad ora.

PM
Avatar
Thejuster (Admin)
Guru^2


Messaggi: 2298
Iscritto: 04/05/2008

Segnala al moderatore
Postato alle 10:23
Martedì, 12/05/2009
e semplice metti un refresh della pagina impostato a 10 minuti
se entro 10 minuti non cambia camera o esegue qualche azione invii un parametro nel refresh del tipo

index.php?act=disconnect

se nel get act e presente disconnect allora elimini il coockie semplice.


https://mire.forumfree.it/ - Mire Engine
C# UI Designer
PM
Avatar
lalla_4 (Normal User)
Newbie


Messaggi: 12
Iscritto: 14/01/2009

Segnala al moderatore
Postato alle 18:59
Martedì, 12/05/2009
Scusa l'ignoranza ma non ho idea di cosa sia un refresh!!
Puoi scrivermi il codice che dovrei inserire?

PM
Avatar
matteoiamma (Member)
Pro


Messaggi: 74
Iscritto: 18/06/2008

Segnala al moderatore
Postato alle 19:56
Martedì, 12/05/2009
Codice sorgente - presumibilmente PHP

  1. <?php
  2. //ECCO IL REFRESH
  3. header("location: index.php?act=noact", 600);
  4.  
  5. //Messaggio se l'utente non fa niente
  6.  
  7. if ($_GET['act'] == "noact"){
  8. echo "Messaggio";
  9. }
  10. ?>


PM
Avatar
Thejuster (Admin)
Guru^2


Messaggi: 2298
Iscritto: 04/05/2008

Segnala al moderatore
Postato alle 20:31
Martedì, 12/05/2009
esattamente come ha scritto matteo.

segui quel codice ma al posto di 600 scrivi 10000 dovrebbe equivalere a 10minuti
fai una prova.


https://mire.forumfree.it/ - Mire Engine
C# UI Designer
PM
Avatar
lalla_4 (Normal User)
Newbie


Messaggi: 12
Iscritto: 14/01/2009

Segnala al moderatore
Postato alle 9:53
Mercoledì, 13/05/2009
Scusate ma allora il cookie non va da nessuna parte?

PM
Avatar
Thejuster (Admin)
Guru^2


Messaggi: 2298
Iscritto: 04/05/2008

Segnala al moderatore
Postato alle 18:06
Mercoledì, 13/05/2009

Emh? cmq per fare un gioco del genere in browser
credo che dovresti approfondire di più il tuo php/sql/html

questa è una bazzecola difronte ai problemi che incontrerai.

Codice sorgente - presumibilmente PHP

  1. <?php
  2. //ECCO IL REFRESH
  3. header("location: index.php?act=noact", 600);
  4.  
  5. //Messaggio se l'utente non fa niente
  6.  
  7. if ($_GET['act'] == "noact"){
  8. //qui elimini il coockie
  9.  
  10. }
  11. ?>



per eliminare il coockie basta inserire nel coockie stesso un valore nullo
oppure semplicemente crei un coockie con autodistruzione
del tipo in un determinato asso di tempo si autocancella.



https://mire.forumfree.it/ - Mire Engine
C# UI Designer
PM
Avatar
lalla_4 (Normal User)
Newbie


Messaggi: 12
Iscritto: 14/01/2009

Segnala al moderatore
Postato alle 19:40
Mercoledì, 13/05/2009
Veramente non ci crederai ma questo è l'unico problema che non sono riuscita a risolvere sino ad ora e non ci riesco ancora.
Ti invio i file che dovrebbero riguardare il problema...fammi vedere dove inserire il refresh perchè io proprio non l'ho capito.
Il file principale è index.html, da lì passo a pubblico.php e da qui vengo reindirizzaro a giocare.php dove rimago finchè voglio giocare. Quando non voglio giocare più clicco su "Torna off-line",cioè richiamo logaut.php che mi riporta a index.html


lalla_4 ha allegato un file: Gioco.zip (2914 bytes)
Clicca qui per scaricare il file

Ultima modifica effettuata da lalla_4 il 13/05/2009 alle 19:42
PM
Avatar
Thejuster (Admin)
Guru^2


Messaggi: 2298
Iscritto: 04/05/2008

Segnala al moderatore
Postato alle 21:27
Mercoledì, 13/05/2009
allora guarda puoi fare semplicemente in questo modo


nella pagina del login
quando effettua il login setta il coockie seguendo questo esempio

Codice sorgente - presumibilmente Plain Text

  1. <?php
  2.  
  3. setcookie("nome_coockie", "a", time()+600);
  4.  
  5. ?>




in giocare.php nelle prime righe dove includi i file di configurazione




Codice sorgente - presumibilmente PHP

  1. <?php
  2. require 'error.php';
  3. require 'config.php';
  4.  
  5. //Condizione per verificare se il coockie esiste
  6.  
  7. if (isset($_COOKIE['nome_coockie'])) {
  8.  
  9. echo "Coockie esiste";
  10. //quindi qui andrà inserito tutto il codice php e html di tutto il sito web
  11.  
  12. ?>



alla fine di tutto il sito web prima di chiudere il tag finale
per terminare il php inserisci questo



Codice sorgente - presumibilmente PHP

  1. <?php
  2.  
  3. } else {
  4.  
  5.  
  6. echo "Sessione Scaduta, Si prega di rieffettuare il login..."; exit();
  7.  
  8. }
  9.  
  10. ?>



prova e fammi sapere

per provare, cambia il tempo del coockie in 30 invece di 600
così invece di aspettare 10 minuti aspetti 30 secondi

dovrebbe andare perfettamente.

non l'ho testato ma dovrebbe funzionare.


:rotfl:


https://mire.forumfree.it/ - Mire Engine
C# UI Designer
PM
Pagine: [ 1 2 ] Precedente | Prossimo