Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    909

    eliminare variabile di sessione

    Ciao a tutti,
    grazie al Vs aiuto sono riuscito a creare questo script per recuperare tutte le informazioni provenienti da un form e, renderle permanenti in una sessione:
    codice:
    <?
    session_start();
    
    
    $prezzo = $_POST[prezzo];
    $codice = $_POST[codice];
    $quantita = $_POST[quantita];
    $titolo = $_POST[titolo];
    
    $_SESSION['kart']['titolo'][] = "<tr><td>$titolo</td><td> $codice</td><td> 
    $prezzo</td><td> $quantita</td><td>
    <form method=POST action=eliminasessione.php>
    <input type=submit value=elimina></form></td><td>";
    
    foreach($_SESSION['kart'] as $key => $array) 
    { 
    echo "<table><tr><td>Nome Prodotto</td><td>Codice Prodotto</td><td>Prezzo</td><td>Quantità</td></tr>"; 
    foreach($array as $value) 
    { 
    echo $value."
    "; 
    } 
    }
    ?>
    Ora ho inserito un tasto elimina per ogni sessione creata automaticamente e la posto
    qui
    codice:
    <?
    unset($_SESSION['kart']['titolo']);
    print ("ok");
    ?>
    Solo che nonostante riceva l'ok, ritornando alla pagina precedente, la sessione c'è ancora e, mi ritrovo un'altro tasto elmina (credo per via del foreach).
    Inltre ogni volta che aggiorno la pagina mi viene duplicata l'ultima sessione.

    Spero possiate aiutarmi grazie infinitamente per tutto quello che fate!

  2. #2
    Utente bannato L'avatar di Braco
    Registrato dal
    Oct 2005
    Messaggi
    1,697

    Re: eliminare variabile di sessione

    //Distrugge tutti i dati registrati una sessione e il form si svuota
    session_start();
    $prezzo = $_POST[prezzo];
    $codice = $_POST[codice];
    $quantita = $_POST[quantita];
    $titolo = $_POST[titolo];
    session_destroy();

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    909
    Grazie Braco manon c'è un modo er eliminare singolarmente le sessioni?

    mi spiego il codice che ho postato mi stampa a video "tutte" le sessioni create e le visualizzo una sotto l'altra, allora ho pensato (non saràil top..) di inserire un submit per ognuna di esse create solo che se uso la funzione unset mi svuota tutte le sessioni e non solo quella a cui il submiti si riferisce.

    non so se ho reo l'idea...

    grazie

  4. #4
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    909
    se poi è troppo complicato vorrei quantomeno eliminare solo l'ultima sessione creata

    ho provato ad inserire nel nome della sessione $time dove $time = time() ...così il nome dovrebbe essere diverso di volta in volta, non cè un modo per fare un "unset all'ultimo time"
    ora sto usando:
    codice:
    <?
    
    
    session_start();
    session_name('nome_sessione');
    
    $prezzo = $_POST[prezzo];
    $codice = $_POST[codice];
    $quantita = $_POST[quantita];
    $titolo = $_POST[titolo];
    $time = time();
    
    $_SESSION['$time']['$time'][] = "<tr><td>$titolo</td><td> $codice</td><td> $prezzo</td><td> $quantita</td><td>$time</td><td><form method=POST action=addcarrello.php?action=elimina><input type=submit value=elimina></form>
    ";
    "></form></td><td>";
    
    switch($action) {
    case "elimina":
       unset($_SESSION['kart'][$time]);
    		
    print ("ok Carrello Svuotato con Successo!");
    }
    
    
    foreach($_SESSION['$time']as $key=> $array ) 
    { 
    echo "<table><tr><td>Nome Prodotto</td><td>Codice Prodotto</td><td>Prezzo</td><td>Quantità</td></tr>"; 
    foreach($array as $value) 
    { 
    echo $value.""; 
    } 
    }
    
    ?>
    ma li elimina tutti..
    grazie

  5. #5
    Utente bannato L'avatar di Braco
    Registrato dal
    Oct 2005
    Messaggi
    1,697
    Originariamente inviato da yusizu
    Grazie Braco manon c'è un modo er eliminare singolarmente le sessioni?

    mi spiego il codice che ho postato mi stampa a video "tutte" le sessioni create e le visualizzo una sotto l'altra, allora ho pensato (non saràil top..) di inserire un submit per ognuna di esse create solo che se uso la funzione unset mi svuota tutte le sessioni e non solo quella a cui il submiti si riferisce.

    non so se ho reo l'idea...

    grazie
    Non complicare il codice, non riesco a capire... nel post precedente dici "Solo che nonostante riceva l'ok, ritornando alla pagina precedente, la sessione c'è ancora"..., col mio codice se l'invio è andato a buon fine il form si svuota automaticamente.

    Dimmi: nel form hai messo value="<?echo $_SESSION['prezzo'];?>" e così via?

  6. #6
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    909
    no, nel form ho messo il nome della stessa pagina? e l'action=elimina così gestisco tutto in questa pagina con Switch case: elimina.....


    il problema fondamentale è che unset ora funziona solo che elimina tutte le sessioni create mentre io vorrei che me ne eliminasse solo una (a scelta) ..per questo ho inserito il form nella sessione VVoVe: quantomeno avrò un form per ogni sessione.

    solo che come per elminare la singola sessione non c'è verso nonostante abbia assegnato ad ogni sessione un nome "dinamico" ricavato dal time()...che è diverso per ogni sessione creata...solo che è come se gli dicessi eliminami TUTTE le sessioni chiamate time e non quella con un tempo preciso.

    grazie ancoraaaaaa.

  7. #7
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    909
    up plpease

  8. #8
    Utente bannato L'avatar di Braco
    Registrato dal
    Oct 2005
    Messaggi
    1,697
    Originariamente inviato da yusizu
    up plpease
    Per cancellarne una singola a caso non saprei, è una situazione troppo tecnica per la mia conoscenza

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.