Avatar billede simm Nybegynder
07. juli 2006 - 18:56 Der er 3 kommentarer og
1 løsning

Kan ikke slette element fra array

Hejsa,

Jeg har lavet flg. kode til en webshop. En form submittes og ender i tre arrays. Disse laver jeg om så der er et array til sidst som så sendes til varekurvfunktionen.

Mit problem er at når en form submittes så returnerer $_POST rævl og krat. Derfor forsøger jeg at slette de elementer i de tre arrays, hvor brugeren ikke har tastet noget i Antal-feltet. Men jeg har problemer med at der ikke bliver slettet noget, når jeg unset'ter.. hvorfor det?

<code>
for($x=0; $x < sizeof($_POST['rid']); $x++)
{
        $vareid[$x] = trim($_POST['vareid'][$x]);
       
        $antal[$x] = trim($_POST['antal'][$x]);
        $varenavn[$x] = trim($_POST['varenavn'][$x]);
        $varepris[$x] = str_replace(",",".",$_POST['varepris'][$x]);
       
        print("<pre>");
        print_r($varenavn);
        print("</pre>");
       
        if (empty($antal[$x]))
        {
            unset($antal[$x]);
            unset($vareid[$x]);
            unset($varenavn[$x]);
            unset($varepris[$x]);
            $varenavn = array_values( $varenavn );
        }
       
        print("<pre>");
        print_r($varenavn);
        print("</pre>");
       
        foreach(array_keys($vareid+$antal+$varenavn+$varepris) as $x)
        {
            // Saml de tre arrays i et array
            if (isset($vareid[$x])) $products[] = $vareid[$x];
            if (isset($antal[$x])) $products[] = $antal[$x];
            if (isset($varenavn[$x])) $products[] = $varenavn[$x];
            if (isset($varepris[$x])) $products[] = $varepris[$x];
        }
               
        list($vareid_item, $antal_item, $varenavn_item, $varepris_item) = $products;
       
            $cart->add_item($vareid_item, $antal_item, $varenavn_item, $varepris_item);   
</code>
Avatar billede nielle Nybegynder
07. juli 2006 - 19:08 #1
Hvorfor putter du først i arrayet for derefter at fjerne igen hvis tjekket på $antal[$x] er tomt?

Hvorfor ikke lave dette tjek aller først, og så lade være med at putte i arrayet hvis det fejler?
Avatar billede simm Nybegynder
07. juli 2006 - 19:12 #2
Heh.. ja det lyder jo logisk :) prøver lige
Avatar billede simm Nybegynder
08. juli 2006 - 03:01 #3
Det virker, tak :)

Sender du lige et svar?
Avatar billede nielle Nybegynder
08. juli 2006 - 06:59 #4
Svar :^)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester