Avatar billede tanzaweb Nybegynder
10. april 2005 - 13:04 Der er 8 kommentarer og
1 løsning

input felt kommer ikke med over

Hej

Jeg har en lille form som skal sende et antal over på en anden side med session og en SQL select men den bliver ved med kun at tage 1 med over er der nogen der kan se fejlen?

FORMEN:
<form action="kurv.php?id=<?php echo $row['produkt_id']; ?>" method="post">
                Antal:  <input class="knap1" name="quantity" value="1" size="5"> <input type="submit" class="knap2" value="Læg i kurv" name="Submit">
                </form>

KURV:
if (!isset($_GET['id'])){
echo "Du har ingen vare i din indkøbskurv";
}else{
$subtotal = 0;
$key = $_GET['id']; // Varens id
$quantity = isset($_GET['quantity']) ? $_GET['quantity'] : 1; // Hvis ikke antallet er sat, sættes den til 1

if (isset($_SESSION['items'])) { // Tjekker om arrayet findes
    if (isset($_SESSION['items'][$key])) { // Hvis varen allerede er i kurven opdateres antallet
        $_SESSION['items'][$key] += $quantity;
    } else {
        $_SESSION['items'][$key] = $quantity; // Ellers tilføjes varen og antallet sættes til $quantity
    }
} else {
    $_SESSION['items'] = array(); // Ellers laver vi et array
    $_SESSION['items'][$key] = $quantity; // ... og tilføjer varen
}

if (isset($_SESSION['items']) && count($_SESSION['items']) > 0) {
    $products = implode(',',array_keys($_SESSION['items']));


    $result = mysql_query("SELECT * FROM nettproduct WHERE produkt_id IN($products)");
    while($row = mysql_fetch_array($result)) {
        $key = $row['produkt_id'];
        $quantity = $_SESSION['items'][$key];
        $sum = $row['produkt_pris']*$quantity;
        $subtotal += $sum;
        echo "<tr><td class=\"topTable\" width=\"240\">Beskrivelse</td><td align=\"right\" class=\"topTable\" width=\"120\">Stk. Pris:</td><td class=\"topTable\" width=\"120\" align=\"right\">Total Beløb:</td></tr>";
        echo '<tr bgcolor=\"#EFEFEF\"><td class=\'normal\'>'.$quantity.' stk '. $row['produkt_navn'] .'</td><td class=\'normal\' align=\'right\'>'. number_format($row['produkt_pris'],2,',','.').' kr. </td><td class=\'normal\' align=\'right\'>'.number_format($sum,2,',','.').' kr. </td></tr>';
       
    }
    echo '<tr><th colspan=\'2\' class=\'normal\' align=\'right\'>Total Beløb: </th><td bgcolor=\"#EEEEEF\" class=\'normal\' align=\'right\'>'. number_format($subtotal,2,',','.'). ' kr.</td><tr>';
    echo "<tr>";
        echo "<td colspan=\"3\" class=\"normal\" align=\"left\">Det er nu tid til at betale for dine varer.<br />";
        echo "Tryk på betal nu knappen når du er klar.<br /><br />";
        echo "Så får du tilsend bank oplysninger og andre vigtige informationer som du skal bruge ved betaling, af dit";
        echo "telefon nummer.";
        echo "<!-- Betalingen foregår i et nyt vindue (popup). Har du en popup blokker som ex. google's toolbar, eller
                Service pack 2 til Windows XP kan det ske at du ikke kan se vinduet. I så fald bør du tillade Nettel.dk
                at åbne popup'er. Hold 'CTRL'-tasten nede mens du trykker på 'Betal nu' knappen.<br />
                <br />
                Være opmærksom på at der kan være et gebyr på din betaling, dette gebyr tilfalder ikke Nettel.dk men til
                indløseren af den valgte betalingsform. -->";
        echo "<table>";
        echo "<tr>";
        echo "<td>";
        echo "<form action=\"/tom_kurv.php\" method=\"post\">";
        echo "<input class=\"knap3\" type=\"submit\" value=\"Tøm indkøbskurv\">";
        echo "</form>";
        echo "</td>";
        echo "<td>";
        echo "<form action=\"/kasse.php";
        echo " method=\"post\">";
        echo "<input class=\"knap1\" type=\"submit\" value=\"Til kasse\">";
        echo "</form>";
        echo "</td>";
        echo "</tr>";
        echo "</table>";
        echo "</center>";
        echo "</td>";
        echo "</tr>";
    mysql_close($db);
}
}

Jeg tænker på om det kan være der hvor jeg sætter $quantity til 1 hvis der ikke er noget i den?
Avatar billede sukos Juniormester
10. april 2005 - 13:12 #1
Jahh, $_GET['quantity']
Avatar billede dennismp Nybegynder
10. april 2005 - 13:12 #2
Du laver en method="post" form, men bruger $_GET for at få variablen ind. Enten skal method="get" eller du skal bruge $_POST eller $_REQUEST.
Avatar billede tanzaweb Nybegynder
10. april 2005 - 13:19 #3
jeg skulle hvis se at få udsovet og starte igen senere.

dennismp send lige et svar.

Takker
Avatar billede dennismp Nybegynder
10. april 2005 - 13:25 #4
ok. God lur :-)
Avatar billede sukos Juniormester
10. april 2005 - 13:28 #5
Det virker ik' hvis du udskifter $_GET['quantity'] med $_POST['quantity'] ??? :O]
Avatar billede tanzaweb Nybegynder
10. april 2005 - 13:32 #6
hvorfor ikke sukos?
Jeg kan dog se at hvis jeg nu bruger en Submit i øvereste linje så laver den selvfølgelig også fejl hvis jeg bare vil se kurven.

if (!isset($_GET['Submit'])){
echo "Du har ingen vare i din indkøbskurv";
}else{
$subtotal = 0;
$key = $_GET['id']; // Varens id
$quantity = isset($_GET['quantity']) ? $_GET['quantity'] : 1; // Hvis ikke antallet er sat, sættes den til 1

kunne i have en løsning til det måske
Avatar billede dennismp Nybegynder
10. april 2005 - 13:55 #7
burde det ikke være:

if( isset($_GET['Submit']) ) {
tilføj
}
if( count($_SESSION['items']) == 0 ) {
  echo "Du har ingen vare i din indkøbskurv";
}
else {
  vis indhold?
}

jeg er ikke helt sikker på at jeg forstår problemet.
Avatar billede tanzaweb Nybegynder
10. april 2005 - 14:40 #8
Ja, undskyld Dennismp.

Det var mest fordi jeg ikke lige kunne få den til at vise indholdet af kurven hvis man bare ville se kurven
de 2 sektioner her har jeg fået til at virke.

if( isset($_GET['Submit']) ) {
tilføj
}
if( count($_SESSION['items']) == 0 ) {
  echo "Du har ingen vare i din indkøbskurv";
}
men skal have sat den op så den også bare viser indholdet uden at tilføje, men den vil have det ID så det var det
Avatar billede sukos Juniormester
10. april 2005 - 15:31 #9
Mente nu at det burde virke hvis $_GET blev til $_POST, men holder helt med dennismp! :O)
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