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

    Carrello della spesa (evitare incremento quantità ad ogni refresh)

    Salve,

    Ho letto [PILLOLA] Refresh pagina con form e duplicazione dati nel db by piero.mac,
    l'ho utilizzato e funziona alla perfezione.
    Ora avrei un problema con le sessioni,
    praticamente nel mio carrello della spesa vengono visualizzati vari dati, compresa la quantità.
    il problema è che se faccio un refresh la quantità viene incrementata di una unità.
    Come evitarlo, e fare in modo che la quantità venga incrementata solo dall'utente? (cosa che si può già fare)

    Grazie

  2. #2
    Up!!

  3. #3
    qualche riga di codice sarebbe molto utile per aiutarti
    http://www.newsol.ch
    "I'm so sorry"
    Mario Corti, CEO Swissair, 2 Ottobre 2001
    La crisi della società Swissair è culminata con il "grounding" dell’intera flotta aerea nei primi giorni del mese di ottobre 2001.

  4. #4
    Se posto tutto il codice non mi rispondete più.
    Codice PHP:
    <?php
            session_start
    ();
            
    $indice=$_SESSION['indice'];
            
    $carrello=$_SESSION['carrello'];
    e la sessione è questa
    indice|i:1;carrello|a:1:{i:1;a:2:{i:0;s:3:"1205";i :1;i:1;}}

    Se io premo il tasto refresh sul browser

    la sessione diventa
    indice|i:1;carrello|a:1:{i:1;a:2:{i:0;s:3:"1205";i :1;i:2;}}

    Mentre con questo pezzo di codice
    Codice PHP:
    for($i=0;$i<$ind+1;$i++){
                
    $n=$car[$i][0];
                
    $agg=$_REQUEST[$n];
                if(
    $agg !=""){
                    
    $car[$i][1]=$agg;
                }
            } 
    E premendo

    <input type="submit" name="Aggiorna" value="Aggiorna">
    mi setta la variabile $car sulla quantità stabilita dall'utente e non cambia più.
    Io vorrei che anche se premo "refresh" non cambi la quantità.
    Non so se mi sono spiegato.

  5. #5
    Risolto!!!

  6. #6
    Utente di HTML.it L'avatar di Avalox
    Registrato dal
    Nov 2003
    Messaggi
    302
    Perchè non posti come hai fatto a risolverlo?
    Potrebbe essere d'aiuto ad altri e soprattutto a me

    Grazie, ciauz

  7. #7
    Nel codice carrello avevo sbagliato questo passo di programma

    // inserimento nuovo elemento nel carrello
    $OK="";
    $art=$_REQUEST['id'];
    for ($i=0; $i<$ind+1; $i++){
    if ($car[$i][0]==$art){
    $car[$i][1]= $car[$i][1]+1;
    $_SESSION['carrello']=$car;
    $OK="OK";
    }
    }
    if ($OK == ""){
    $ind=$ind+1;
    $car[$ind][0]=$id;
    $car[$ind][1]=1;
    $_SESSION['index']=$ind;
    $_SESSION['carrello']=$car;
    }
    // fine inserimento nuovo elemento nel carrello

    e ad ogni refresh incrementava di una unità
    E bastato toglierlo ed è andato tutto a posto

    // inserimento nuovo elemento nel carrello
    $OK="";
    $art=$_REQUEST['id'];
    for ($i=0; $i<$ind+1; $i++){
    if ($car[$i][0]==$art){
    $car[$i][1]= $car[$i][1];(Tolto+1)
    $_SESSION['carrello']=$car;
    $OK="OK";
    }
    }
    if ($OK == ""){
    $ind=$ind+1;
    $car[$ind][0]=$id;
    $car[$ind][1]=1;
    $_SESSION['index']=$ind;
    $_SESSION['carrello']=$car;
    }
    // fine inserimento nuovo elemento nel carrello

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.