1. Liebe Forumsgemeinde,

    aufgrund der Bestimmungen, die sich aus der DSGVO ergeben, müssten umfangreiche Anpassungen am Forum vorgenommen werden, die sich für uns nicht wirtschaftlich abbilden lassen. Daher haben wir uns entschlossen, das Forum in seiner aktuellen Form zu archivieren und online bereit zu stellen, jedoch keine Neuanmeldungen oder neuen Kommentare mehr zuzulassen. So ist sichergestellt, dass das gesammelte Wissen nicht verloren geht, und wir die Seite dennoch DSGVO-konform zur Verfügung stellen können.
    Dies wird in den nächsten Tagen umgesetzt.

    Ich danke allen, die sich in den letzten Jahren für Hilfesuchende und auch für das Forum selbst engagiert haben. Ich bin weiterhin für euch erreichbar unter tti(bei)pcwelt.de.
    Dismiss Notice

Session wird überschrieben

Discussion in 'Web-Know-how für die Homepage' started by lightdisc, Oct 3, 2007.

Thread Status:
Not open for further replies.
  1. lightdisc

    lightdisc Halbes Megabyte

    Hallo,
    ich habe mir ein kleines (bisher noch ohne Datenbankanbindung) Warenkorbscript gebastelt:

    HTML:
    <h1>Artikel:</h1>
    <li>Artikel 1 (Artikelnummer: 259) 
    <a href="warenkorb.php?put_in=259&name=Artikel1">Artikel in Warenkorb</a><br />
    <li>Artikel 2 (Artikelnummer: 141) 
    <a href="warenkorb.php?put_in=141&name=Artikel2">Artikel in Warenkorb</a><br />
    <li>Artikel 3 (Artikelnummer: 333) 
    <a href="warenkorb.php?put_in=333&name=Artikel3">Artikel in Warenkorb</a><br />
    <li>Artikel 4 (Artikelnummer: 499) 
    <a href="warenkorb.php?put_in=499&name=Artikel4">Artikel in Warenkorb</a><br />
    
    Die Sessions definiere ich wie folgt:
    PHP:
    session_start();
    $para1 $_GET['put_in'];
    $para2 $_GET['name'];
     
    if(
    $para1 && $para2){
    $_SESSION[$para1] = $para2;
    }
    Durch eine foreach-Schleife möchte ich nun die einzelnen gespeicherten Artikel abrufen:
    PHP:
    foreach($_SESSION as $key=>$value){
             echo 
    "$value (Artknr.: $key)<br />\n";
    }
    Wenn ich einen Artikel anklicke wird er zwar im Warenkorb angezeigt, sobald ich aber einen anderen Artikel anklicke wird der andere nicht mehr angezeigt. Wenn ich die Paramter in der Adresszeile entferne wird im Warenkorb gar nichts mehr angezeigt. Woran liegt das? Wieso werden die Sessions überschrieben?
     
  2. du überschreibst dir den Inhalt der Session-Variablen doch selbst!
    Code:
    if($para1 && $para2){
    $_SESSION[$para1] = $para2;
    }  
    wenn in $para1 alle Parameter aufgenommen werden sollen, dann sollte anstelle der einfachen Zuweisung mittels " = " eine Stringaddition durchgeführt werden.... (hab php gerade nicht mehr so im Kopf... unter java wäre das " += ")
     
  3. lightdisc

    lightdisc Halbes Megabyte

    Hmm.. also ich habs jetzt noch mal anders probiert. Hierbei stehe ich aber wieder vor einem Problem:

    PHP:
    session_start();
    if(!
    $_SESSION['products']){
      
    $_SESSION['products']=array();
    }
    if(
    is_array($_POST['form_products'])) {
      
    $_SESSION['products'] = array_unique(array_merge$_SESSION['products'],$_POST['form_products']));
    }
    $para $_GET['del'];
    if(
    $para){
    unset(
    $_SESSION['products'][$_GET['del']]);
    }
    Wenn ich jetzt einen Artikel aus dem Array löschen will (über $_GET['del'] ) dann ist er danach immer noch da.
     
Thread Status:
Not open for further replies.

Share This Page