Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12

Discussione: Session

  1. #1

    Session

    Ho una pagina che tramite ajax richiama (con timer a 200 sec.) una pagina PHP che fatta una verifica in un DB deve emettere un suono solo una volta!
    se metto questo codice mi suona all'infinito!
    Codice PHP:
    echo("<embed src='ringin.wav' name='musicID' type='audio/wave' loop=true autostart=true hidden=true mastersound>"); 
    essendo che questa pagina viene richiamate in ajax, credo che ad ogni volta si ricarichi, perdendo il valore di possibili variabili.
    ho pensato di attivare una session e fare un controllo prima del codice sopra citato in modo da far suonare solo una volta.
    allora ho scritto:
    Codice PHP:
    if ($_SESSION['suona'] <> "si"){
        echo(
    "<embed src='ringin.wav' name='musicID' type='audio/wave' loop=true autostart=true hidden=true mastersound>");

        
    $_SESSION['suona'] = "si";

    continua a suonare anche quando $_SESSION['suona'] è uguale a "si".

    Le Session, non durano per tutto il tempo in cui il browser è attivo?
    ho esperienza in ASP e poco PHP, in ASP quando assegno una session rimane li finche non scade il tempo, o la "uccido" oppure chiudo il browser.
    su php come funziona???
    Grazie!
    <head> Nothing! </head>
    <body> Open your mind and close your ass !!! </body>

  2. #2
    forse loop deve essere false?

  3. #3
    Utente di HTML.it L'avatar di r1cky`
    Registrato dal
    Feb 2007
    Messaggi
    432
    Concordo.
    Se con loop=false non risolvi vediamo un po' come avviene la chiamata asincrona

  4. #4
    Loop su false e poi nel if della sessione mi sa che hai sbagliato operatore (si non è numerico e quindi prende valore 0)
    Prova con questo:
    Codice PHP:
     if ($_SESSION['suona'] != "si"){
        echo(
    "<embed src=\"ringin.wav\" name=\"musicID\" type=\"audio/wave\" loop=\"false\" autostart=\"true\" hidden=\"true\" mastersound>");

        
    $_SESSION['suona'] = "si";

    Never care for what they say, Never care for games they play. Never care for what they do, Never care for what they know.
    «Solo due cose sono infinite: l’universo e la stupidità umana, e sul primo non sono sicuro». (A. Einstein)

  5. #5
    innazi tutto grazie delle risposte.
    con loop a false non risolvo, perchè la pagina viene ricaricata continuamente, per tanto il suono ogni 2000 sec viene suonato.
    la condizione IF è la seguente.
    Codice PHP:
    if ($_SESSION['suona'] != "si"){ 
            echo(
    "<embed src='ringin.wav' name='musicID' type='audio/wave' loop=false autostart=true hidden=true mastersound>");
            
    $_SESSION['suona'] = "si"

    perchè nonostante $_SESSION['suona'] sia uguale a "si" continua ad eseguire il codice???
    ripeto che dalla pagina "master" viene effettuata una chimata asincrona temporizzata a 2000 sec, in modo che il centro della pagina venga "ricaricato". alla presenza di nuovi messaggi, un <td> della tabella cambia colore e attiva il suono che dovrebbe suonare solo una volta e invece ad ogni chiamata asincrona mette questo benedetto suono fregandosene dell' if e continuando a suonare inperterrito.
    se faccio un
    Codice PHP:
    echo($_SESSION['suona']); 
    il valore è "si".
    boh!
    <head> Nothing! </head>
    <body> Open your mind and close your ass !!! </body>

  6. #6
    Nessuno mi piò aiutare???
    please
    <head> Nothing! </head>
    <body> Open your mind and close your ass !!! </body>

  7. #7
    Utente di HTML.it L'avatar di r1cky`
    Registrato dal
    Feb 2007
    Messaggi
    432
    Prova a postare il codice js

  8. #8
    2000 secondi???? non millisecondi??
    nel caso quando hai inizializzato la sessione (lo hai fatto vero????) hai specificato la durata??
    Never care for what they say, Never care for games they play. Never care for what they do, Never care for what they know.
    «Solo due cose sono infinite: l’universo e la stupidità umana, e sul primo non sono sicuro». (A. Einstein)

  9. #9
    la funzione javascript che richiama il centro della pagina è:
    Codice PHP:
    function corpo(){
        
    spkahah_load('corpo.php','corpo','');
        
    timerID=setTimeout("corpo()"2000);
        

    Non ho inizializzato la sessione (non so come si fa), ho scritto solo quello che ho postato prima.
    comunque se faccio un
    Codice PHP:
    echo($_SESSION['suona']); 
    stampa a video: si
    ma la condizione if, non considera questo parametro. come mai???
    <head> Nothing! </head>
    <body> Open your mind and close your ass !!! </body>

  10. #10
    Originariamente inviato da salvodibella
    la funzione javascript che richiama il centro della pagina è:
    Codice PHP:
    function corpo(){
        
    spkahah_load('corpo.php','corpo','');
        
    timerID=setTimeout("corpo()"2000);
        

    Non ho inizializzato la sessione (non so come si fa), ho scritto solo quello che ho postato prima.
    comunque se faccio un
    Codice PHP:
    echo($_SESSION['suona']); 
    stampa a video: si
    ma la condizione if, non considera questo parametro. come mai???
    :rollo:
    allora prima dell'inizio della pagina hai messo questo codice:
    Codice PHP:
    <?php
    session_start
    ();

    ?>
    così avvii la sessione e puoi mettere la var nell'array globale $_SESSION[] finche non distruggi la sessione, chiudi il browser o scade la sessione

    poi subito dopo if per verifica presenza valore nella sessione di suona prova ad aggiungere questo codice


    Codice PHP:
     if ($_SESSION['suona'] == "si"){
            echo(
    " ");
           

    Never care for what they say, Never care for games they play. Never care for what they do, Never care for what they know.
    «Solo due cose sono infinite: l’universo e la stupidità umana, e sul primo non sono sicuro». (A. Einstein)

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.