2016-07-31 9 views
-1

Ich versuche, Variablen in einem Session-Array auf einer mehrseitigen Website zu speichern, aber es immer die Daten ersetzen und nicht speichern, wenn neue Daten hinzugefügt werden Ich wäre sehr dankbar, wenn jemand mir helfen könnte, ich habe lange versucht, daran zu arbeiten, und ich habe verschiedene hilfreiche Tipps dazu gelesen, aber ich weiß immer noch nicht, was ich hier falsch mache.PHP-Sitzung speichert nicht auf dem gleichen Array aber erstellt neue

der Code:

if (empty($_SESSION['cart'])){ 
$_SESSION['cart'] = array();} 

if(isset($_SESSION['count'])){ 
$count_cart= $_SESSION['count'] ; 
} 


if (isset($_GET['id'])) { 
    if(isset($_SESSION['cart'])){ $_SESSION['cart']= array();} 


     array_push($_SESSION['cart'], $_GET['id']); 






foreach ($_SESSION['cart'] as $key => $count_cart) {var_dump( $_SESSION['cart']); 
} 

}

+0

Wo ist 'session_start()'? –

+0

Fügen Sie einen weiteren Schlüssel als Zähler hinzu. – McStuffins

+0

@u_mulder es beginnt am Anfang jeder Webseite – hossam

Antwort

0

Code Check:

if (isset($_GET['id'])) { 
    if(isset($_SESSION['cart'])){ 

     // this line RESETS your `$_SESSION['cart']` data 
     // and creates empty array 
     // so you need to remove this line 
     $_SESSION['cart']= array(); 

     array_push($_SESSION['cart'], $_GET['id']); 
    } 
} 
+0

Ich löschte diesen Teil und überschreibt immer noch die Daten auf dem Array, wenn eine neue Daten gepostet werden – hossam

+0

Bitte posten Sie Ihren neuen Code zu einer Frage, ich kann nicht sehen, was Sie gelöscht und wie Code jetzt aussieht. –

+0

Sie haben __not__ nicht entfernt, was ich gesagt habe. Verstehst du, was passiert, wenn du '$ _SESSION ['cart'] = array();'? –

0
<?php 
session_start(); 
/*session is started if you don't write this line can't use $_Session global variable*/ 
$_SESSION["newsession"]=$value; 
?> 
Getting Session 
========================== 
<?php 
session_start(); 
/*session is started if you don't write this line can't use $_Session global variable*/ 
$_SESSION["newsession"]=$value; 
/*session created*/ 
echo $_SESSION["newsession"]; 
/*session was getting*/ 
?> 

Sie Sitzung durch Aufruf session_start beginnen müssen(); more here