eliminare una sessione

Ciao a tutti, dopo una giornata radioattiva sono riuscito a trovare la soluzione per rendere permanenti tutte le informazioni passatemi tramite post da un form

<?
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."<br>"; 
} 
}

?>

ora avrei la necessità di eliminare eventualmente una delle sessioni create,

ho inserito un tasto elimina che mi rimanda ad una pagina così strutturata:

<?
unset($_SESSION['kart']['titolo']);
print ("ok");
?>

la cosa strana è che ricevo l'ok ma, ritornando nella pagina precedente, la variabile resta lì e, mi ritrovo un altro pulsante elimina (forse per via del "foreach")

Inolre ogni volta che aggiorno la pagina mi duplica l'ultima sessione creata.

potreste suggerirmi qualcosa?

grazie tante

inviato 10 anni fa
yusizu
modificato 10 anni fa
X 0 X
risposto 10 anni fa
infinytech
X 0 X

ora avrei la necessità di eliminare eventualmente una delle sessioni create,

ho inserito un tasto elimina che mi rimanda ad una pagina così strutturata:

<?
unset($_SESSION['kart']['titolo']);
print ("ok");
?>

la cosa strana è che ricevo l'ok ma, ritornando nella pagina precedente, la variabile resta lì e, mi ritrovo un altro pulsante elimina (forse per via del "foreach")

Inolre ogni volta che aggiorno la pagina mi duplica l'ultima sessione creata.

potreste suggerirmi qualcosa?

grazie tante

Non converrebbe prima verificare se la sessione è stata applicata con un if e un isset...??? A quel punto se la sessione è attiva non la riattiva di modo che non la duplichi, inoltre per come è strutturato il codice quando ritorni alla pagina precedente la sessione viene riattivata automaticamente.

risposto 10 anni fa
p3e2
p3e2
1
X 0 X

Dal codice che hai riportato all'inizio vedo che memorizzi in una variabile di sessione una stringa contenente un form. La cosa non ha alcun senso  :nono:

Nelle variabili di sessione devi memorizzare solo i dati che non vuoi perdere passando da una pagina all'altra.

 :bye:

risposto 10 anni fa
Gianni Tomasicchio
X 0 X

scusa ma non ti seguo i memorizzo tutti i dati che mi servono permanenti e recupearti dal post, perchè non dovrebbe essere corretto?

il grosso problema è che pur visualizzando su ogni riga le sessioni create non riesco a gestirle singolarmente! tipo eliminarne una oppure magari aggiornarne il prezzo contenuta in una di essa.

Ho pensato di chiamare la sessione con una variabile :

$time = time();

$_SESSION['kat']['$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>

pensando di poterla eliminare usando

unset($_SESSION['kat']['$time']);

..che per logia dovrebbe essere diversa ma, me li elimina tutte!

risposto 10 anni fa
yusizu
X 0 X

Dal codice che hai riportato all'inizio vedo che memorizzi in una variabile di sessione una stringa contenente un form. La cosa non ha alcun senso  :nono:

Nelle variabili di sessione devi memorizzare solo i dati che non vuoi perdere passando da una pagina all'altra.

 :bye:

ahhh ora ho capito ti riferisci al submit, si quello l'ho messo li per comodità per averne uno per ogni sessione creata, si non credo sia il top ma non sapevo come fare a crearne uno per ogni sessione allora in questo modo sfrutto il foreach

risposto 10 anni fa
yusizu
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda