Probleme beim Löschen von...

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • #16
    1. error_reporting höher stellen
    2. mit print_r ins session-array schauen (evtl. hier zeigen)
    3. isset() in if-abfragen verwenden

    dann noch mal erklären, was das "problem" ist.

    Kommentar


    • #17
      merkwürdiger Fehler...

      Also ich hab hier n Warenkorb und ich habs geschafft das ich einzelne Posten(Zeilen) löschen kann. So alles funktioniert außer eins. Ich kann alle einzelnen Posten außer den aller ersten löschen. Also ich kann die Stelle 0 in meinem multidimensionalem array nicht löschen. kann mir da jemand helfen hier kommt der betroffene teil des scribts glaube ich zumindest:
      Hier wird die Session erstellt:
      PHP-Code:
      <?php
      session_start
      ();
      print_r ($_POST);
      if(
      $_POST && $_POST['save'] && $_POST['i_anzahl'] > "0" && is_numeric($_POST['i_anzahl']))
      {
      $_SESSION['warenkorb']['anzahl'][] = $_POST['i_anzahl'];
      $_SESSION['warenkorb']['gewicht'][] = $_POST['i_gewicht'];
      $_SESSION['warenkorb']['tier'][] = $_POST['i_tier'];
      $_SESSION['warenkorb']['futter'][] = $_POST['i_futter'];
      $_SESSION['warenkorb']['preis'][] = $_POST['i_preis'];
      }
      #print_r($_SESSION['warenkorb']);
      if($_POST['del'])
      {
      unset(
      $_SESSION['warenkorb']['futter'][$_POST['del']],
      $_SESSION['warenkorb']['anzahl'][$_POST['del']],
      $_SESSION['warenkorb']['tier'][$_POST['del']],
      $_SESSION['warenkorb']['preis'][$_POST['del']],
      $_SESSION['warenkorb']['gewicht'][$_POST['del']],$e);
      }


          
      $arr_preis['hund']['0']['5'] = "14";
          
      $arr_preis['hund']['0']['14'] = "27";
          
      $arr_preis['hund']['0']['25'] = "37";
          
      $arr_preis['hund']['0']['40'] = "47";
          
      $arr_preis['hund']['1']['5'] = "38";
          
      $arr_preis['hund']['1']['14'] = "47";
          
      $arr_preis['hund']['1']['25'] = "54";
          
      $arr_preis['hund']['1']['40'] = "79";
          
          
      $arr_preis['katze']['0']['3'] = "14";
          
      $arr_preis['katze']['0']['7'] = "27";
          
      $arr_preis['katze']['1']['3'] = "37";
          
      $arr_preis['katze']['1']['7'] = "49";
      //---------------------------------------------
          
      $arr_bilder['hund']['5'] = "futter_hund_2kg.gif";
          
      $arr_bilder['hund']['14'] = "futter_hund_14kg.gif";
          
      $arr_bilder['hund']['25'] = "futter_hund_25kg.gif";
          
      $arr_bilder['hund']['40'] = "futter_hund_40kg.gif";
          
          
      $arr_bilder['katze']['3'] = "futter_katze_3kg.gif";
          
      $arr_bilder['katze']['7'] = "futter_katze_7kg.gif";
      Hier wird der Warenkorb angezeigt:
      PHP-Code:
      if(isset($_SESSION['warenkorb']))
      {
                          
      echo
      '
              <tr class="textbold">                                                        
              <th align="left">Futter:</th>
              <th align="left">Menge:</th>
                  <th align="left">St&uuml;ckpreis:</th>
              <th align="left">Preis:</th>
                  <th align="left">&nbsp;</th>
      </tr>'
      ;
      foreach(
      $_SESSION['warenkorb']['anzahl'] as $key => $val)
      {
      $gesamt +=$_SESSION['warenkorb']['preis'][$key]*$_SESSION['warenkorb']['anzahl'][$key];

      $e number_format(($_SESSION['warenkorb']['preis'][$key]
      *
      $_SESSION['warenkorb']['anzahl'][$key]), 2',''.' );
              
                      
      echo 
      '
      <tr class="text">
      <td>'
      .$_SESSION['warenkorb']['futter'][$key].'('.$_SESSION['warenkorb']['tier'][$key].'
      -'
      .$_SESSION['warenkorb']['gewicht'][$key].'kg)</td>
      <td>'
      .$_SESSION['warenkorb']['anzahl'][$key].'</td>
      <td>'
      .number_format($_SESSION['warenkorb']['preis'][$key], 2',''.' ).'&nbsp;&euro;</td>
      <td>'
      .$e.'&nbsp;&euro;</td>
      <td><input type="image" name="del" value="'
      .$key.'" src="pics/mini-delete2.gif" alt="loeschen"  border="0" />
      </td>
      </tr>'
      ;

      Lurchi ! Lurchi ! Lurchi !

      Kommentar


      • #18
        unset($_SESSION['warenkorb']['anzahl'][0]); geht also nicht, obwohl unset($_SESSION['warenkorb']['anzahl'][1]); funktioniert? Sehr merkwürdig...

        error_reporting()?
        testausgaben?
        fehlermeldung?

        BTW: unset($_SESSION['warenkorb'][0]['anzahl']); wäre die deutlich bessere struktur.

        Kommentar


        • #19
          wurde dir nicht _schon mal_ gesagt, du sollst isset() in if-abfragen machen? die implizite konvertierung von 0 nach false ist schnell geschehen.

          Kommentar


          • #20
            also hab jetzt überall noch isset hinzugefügt aber der Fehler is leider net behoben...

            $_SESSION['warenkorb'][0]['anzahl'] die Struktur hatt ich schon einmal es gab mehr Fehler als jetzt bin mit der eigentlich zufrieden die ich jetzt hab..es gibt eben nur den eien Fehler
            Lurchi ! Lurchi ! Lurchi !

            Kommentar


            • #21
              zeigen.

              Kommentar


              • #22
                zeig mal die lösch-if abfrage wie sie jetzt aussieht.

                Kommentar


                • #23
                  PHP-Code:
                  if(isset($_POST['del']) && $_POST['del'])
                  {
                  unset(
                  $_SESSION['warenkorb']['anzahl'][$_POST['del']],
                  $_SESSION['warenkorb']['futter'][$_POST['del']],
                  $_SESSION['warenkorb']['tier'][$_POST['del']],
                  $_SESSION['warenkorb']['preis'][$_POST['del']],
                  $_SESSION['warenkorb']['gewicht'][$_POST['del']],$e);

                  so..
                  Lurchi ! Lurchi ! Lurchi !

                  Kommentar


                  • #24
                    nimm && $_POST['del'] raus.

                    Kommentar


                    • #25
                      autsch (jetzt hab ich den Wand-Smilie nicht mehr in der Zwischenablage)

                      Denk mal kurz logisch nach:
                      Wenn $_POST['del'] false ist (bzw. so gewertet wird), dann ist ist es zusammen mit einer weiteren bedingung immer noch false. das ändert nichts.

                      Kommentar


                      • #26


                        danke des wars...ich glaub ich brauch mehr zucker das mir so kleine Fehler nicht mehr passieren

                        danke
                        Lurchi ! Lurchi ! Lurchi !

                        Kommentar

                        Lädt...
                        X