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

    Borsellino elettronico e saldo in tempo reale

    Salve a tutti,
    premettendo che sono agli inizi, dovrei fare un sito in cui ogni utente, oltre a username e password, ha un proprio borsellino eletronico che ricarica tramite una pagina apposita e inoltre in alto a sinistra, in ogni pagina del sito, c'è un apposito spazio in cui, nel caso l'utente sia loggato, mostri nome utente e saldo corrispondente. Nessun problema per la creazione del borsellino e relativa ricarica, mentre non riesco a visualizzare il saldo incrementato della ricarica in tempo reale, ovvero subito dopo la stessa, nonostante sul database viene incrementato correttamente. Spero qualcuno riesca ad aiutarmi.
    Per visualizzare nome utente e saldo ho creato un file php che richiamo in tutte le pagine con questo codice:
    Codice PHP:
    <div id="status"> 
        <p>Benvenuto, 
        
        <?php 
        
    if (isset ($_SESSION["utente"])) { 
            echo 
    $utenteCorrente."!";
            echo 
    "<p>Saldo: &euro;".number_format((float)($_SESSION["saldo"]), 2',''')."</p>";
            
            echo 
    '<form name="form" action="logout.php" method="GET">';
            echo 
    '<p><input class="button" type="submit" name="logout" value="Logout"></p>';
            echo 
    '</form>';
        } else {
                echo 
    "utente anonimo!";
                echo 
    "<p>Saldo: 0.00&euro;</p>";
                echo 
    "<p><a href='login.php'>Accedi</a></p>";
                echo 
    "<p>Sei un nuovo utente? <a href='new.php'>Registrati!</a></p>";
        }
        
    ?>
    </div>
    Non riesco a capire perchè non si aggiorni. Nel caso serva anche qualche altro pezzo di codice, ditemelo pure.

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,445
    Edit:

    Probabilmente non aggiorni $_SESSION["saldo"] dopo la ricarica.
    Ultima modifica di Alhazred; 14-08-2017 a 17:23

  3. #3
    Quote Originariamente inviata da Alhazred Visualizza il messaggio
    echo "<p>Saldo: 0.00&euro;</p>";
    quindi mostrerà sempre 0.00 visto che c'è una stringa fissa e non una variabile che contiene il saldo recuperato dal DB.
    Questo nel caso in cui l'utente non sia loggato.
    Qualche riga più su ho anche scritto:

    echo "<p>Saldo: &euro;".number_format((float)($_SESSION["saldo"]), 2, ',', '')."</p>";

    che mi stampa il saldo corrente giusto, tranne nel caso in cui effettuo la ricarica che non lo aggiorna in tempo reale.

  4. #4
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,445
    Sì, scusa, me ne sono accorto dopo aver postato ed ho modificato il messaggio.

    Aggiorni $_SESSION["saldo"] dopo aver effettuato la ricarica?

  5. #5
    Quote Originariamente inviata da Alhazred Visualizza il messaggio
    Edit:

    Probabilmente non aggiorni $_SESSION["saldo"] dopo la ricarica.
    In realtà dovrei averlo aggiornato nella pagina in cui confermo la ricarica quando, una volta eseguita la query, scrivo:

    [PHP]
    if(isset($_SESSION['nickNameSession'])&&$_SESSION['nickNameSession']==$_POST['nickRadio'])
    $_SESSION['saldo']=$_SESSION['saldo']+$_POST['depositoRicarica'];
    [PHP]

  6. #6
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,445
    Sei sicuro che il tuo codice in quell'if ci entri? Non è che almeno una delle condizioni risulta falsa e quindi l'aggiornamento non viene eseguito?

    Verifica il contenuto delle variabili con qualche echo, aggiungi anche un echo all'interno dell'if così se non viene stampato ti rendi conto che non ci entra.

  7. #7
    Quote Originariamente inviata da Alhazred Visualizza il messaggio
    Sei sicuro che il tuo codice in quell'if ci entri? Non è che almeno una delle condizioni risulta falsa e quindi l'aggiornamento non viene eseguito?

    Verifica il contenuto delle variabili con qualche echo, aggiungi anche un echo all'interno dell'if così se non viene stampato ti rendi conto che non ci entra.
    Grazie! Non ci avevo pensato a questo!
    Ho provato a stampare una semplice stringa proprio subito dopo la condizione di if e la stampa quindi dovrebbe entrare, mentre vorrei provare a stampare la variabile $_SESSION["saldo"] aggiornata ma il semplice echo "$_SESSION['saldo']"; mi dà errore in particolare:
    "
    Parse error: syntax error, unexpected '' (T_ENCAPSED_AND_WHITESPACE), expecting '-' or identifier (T_STRING) or variable (T_VARIABLE) or number (T_NUM_STRING) in C:\xampp\htdocs\elenuovo\confermaRicarica.php on line 82
    "
    come posso fare?

  8. #8
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,445
    2 cose.

    1) nel tuo codice l'if non ha parentesi graffe, il che vuol dire che solo la prima istruzione seguente viene considerata dentro l'if, una seconda viene considerata fuori e quindi indipendente dalla condizione, metti le { } all'if e le 2 istruzioni dentro: aggiornamento saldo ed echo.

    2) all'echo, se stampi solo una variabile, gli apici non servono, quindi:
    echo $_SESSION["saldo"];

  9. #9
    Alhazred, ti devo ringraziare tantissimo!! Effettivamente avevo confuso il nome della variabile e quindi non aggiornava il saldo con quell'if!!
    Grazie mille ancora!!!

Tag per questa discussione

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 © 2024 vBulletin Solutions, Inc. All rights reserved.