Beiträge von Roland

    du willst doch aber sicher gar nicht erst die Tabelle anzeigen oder?


    dann mach den code doch so

    ja ist klar^^

    der index war 0 und deshalb: 0 ist false
    if($key){
    //wird nicht ausgeführt wen key 0 ist
    }


    so ist es auch möglich das zu schreiben ist besser da brauchst nicht deine 2 if Bedingungen
    if($key !== false){
    unset($_SESSION["einkaufswagen"][$key]);
    }


    für dein problem...

    da musst du eine große if klammer drum machen am besten prüfst du ob der wahrenkorb leer ist mit

    PHP
    if(empty($_SESSION["einkaufswagen"])){
    echo 'kein Produkt im Warenkorb';
    }
    else{
    echo 'sie haben Produkte in ihren Warenkorb';
    }

    gebe dir zu Testzwecken am besten den $_GET['dell_art'], $key und $_SESSION["einkaufswagen"] aus.

    ist es immer das erste?
    oder eins mit einer bestimmten id?
    oder ist es immer das letzte (nachdem du schon alle anderen entfernt) was du entfernen möchtest?

    jedes mal wenn die seite aufgerufen wird wird der komplette code abgearbeitet.

    wenn du z.b. den link zum löschen verwendest dann sind die Daten die der Link übertragen hat ab der ersten Zeile im php code verfügbar.


    der Link müsste auch gar nicht auf der Seite sein, könnte auch von außerhalb kommen würde trotzdem gehen solange du


    vor der abgrage und dem ausgeben machst...

    PHP
    $inhalt = implode(",", $_SESSION["einkaufswagen"]);
    $abfrage = "SELECT * FROM warenliste WHERE ID IN ($inhalt)";
    $erg = mysql_query($abfrage);

    $key = array_search($value, $array);


    und zu dem davor:

    Zitat

    Ich hab 0 zugewiesen.
    Ich dachte wenn ich schreibe $var = false; dann ist es ein boolean.


    wenn du 0 zuweist ist es eine zahl gerade noch mal getestet da hast du nicht 0 zugewiesen, und ja du dachtest schon immer richtig bei deiner vermutung xD

    Zitat

    Hab aber auch schon bemerkt, dass $var = 1; gleich true ist.


    naja gleich aber nur mit == bei === ist es nicht mehr gleich ;)


    hier damit kanst bischen herumspielen :)

    PHP
    <?php
    $var = 0;
    echo '$var ist ein/eine '.gettype($var)."<br/>"; 
    if($var){echo '$var  ist true';}
    else{echo '$var  ist false';}
    ?>
    //gibt bei 0 das hier aus
    //$var ist ein/eine integer
    //$var ist false

    du brauchst keine Session für das loeschen dass musst du dir doch nicht speichern über mehrere Seiten...

    dann müsste man jetzt überlegen ob du überhaupt mehrere zum entfernen machen willst?
    Mann könnte ja gleich einen Link in die Letzte spalte machen der das Produkt entfernt?

    ja dann musst du einfach nur das Produkt wider aus deinen $_SESSION["einkaufswagen"] rausnehmen...


    das geht z.b. so

    PHP
    //davor solltest du vll noch Duplikate entfernen (kann ja sein das jemand 2 mal auf hinzufügen klickt). das wird in der nächsten Zeile hier gemacht
    $_SESSION["einkaufswagen"]= array_unique($_SESSION["einkaufswagen"]);
    
    
    
    
    $zuentfernendesproduckt = 100;
    $key = array_search($zuentfernendesproduckt, $_SESSION["einkaufswagen"]);
    unset($_SESSION["einkaufswagen"][$key]);

    <?php
    $_POST['abgesendet'] = "Ja";
    $_POST["Lesen1"] = 'download';
    if ($_POST['abgesendet'] == "Ja" ){ echo " Dieser Artikel wurde im Warenkorb gespeichert. ";}
    if ($_POST["Lesen1"] == 'download') {
    $key = "1011" ;
    $_SESSION["einkaufswagen"][] = "$key";
    }
    if ($_POST["Lesen1"] == 'CD'){
    $key = "101" ;
    $_SESSION["einkaufswagen"][] = "$key";
    }

    print_r($_SESSION["einkaufswagen"]);
    ?>
    kommt bei mir raus
    Dieser Artikel wurde im Warenkorb gespeichert. Array ( [0] => 1011 )

    benutzt du auch schön session_start()? nicht das du das vergessen hast^^

    ich denke du solltest erst mal Grundlagen über php lernen^^
    dein ganzer Einkaufswagen ist sinnlos wenn du in sowieso immer mit den gleichen überschreibst.

    in deiner Session ist doch etwas drin da musst du doch nichts reinschreiben wenn du nur abrufen willst was drin ist.

    lass die Zeile einfach weg okay? du schreibst doch schon was bei deinen Produktseiten rein was du dann auf deiner Einkaufseite abruft.

    das * bei SELECT muss bleiben
    und du must bei IN()
    auch noch ein paar dinge in die klammer schreiben