webForumDet fria alternativet

Funktioner för kundkorg

PHP

4 svar · 402 visningar · startad av Jonny Puma

Medlem sedan jan. 200420 inlägg
Frågan#1

Hejsan

Sitter och pillar på en liten webshop och skulle behöva lite hjälp. Har tittat mycket på:

http://www.webforum.nu/showthread.php?s=&forumid=23&threadid=76619&highlight=session+kundkorg

Det är något liknande det jag vill ha.
Det jag inte riktigt får till är när jag listar ut alla varor och vill ha en köp-knapp tillhörande varje vara.

Har gjort ett exempel bara för att visa:

varor.php

<?php

include ("varukorg_functions.php");

?>

<html><head><title>Test: Varukorg med session</title></head>
<body><table>

<?

for ($i = 1; $i <= 10; $i++) {
  print "<tr>";
  print "<td>$i</td>";
  print "<td><input type='button' value='Köp' name='kop_vara' onclick='add_item($i)' /></td>";
  print "</tr>";
}

?>

</table></body>

varukorg_functions.php

<?php
function add_item($i){
	 print "$i ligger nu i varukorgen.";
}

?>

Men det verkar inte vilja fungera. Kan man inte kalla på funktionen som jag har gjort? I så fall skulle det vara gött med ett smart tips hur det bör se ut.

Tacksam för svar!

Puma

Medlem sedan mars 20007 896 inlägg
#2

Du kan inte göra så som du har gjort. PHP körs på servern, och JavaScript (Vilket funktionen onclick() är) körs hos klienten. Du måste skicka iväg data't för varan till ett PHP-dokument för att kunna lagra den (I PHP, alltså. Visst kan du uteslutande använda JavaScript annars.).

Medlem sedan jan. 200420 inlägg
#3

Ok, det var det jag trodde. Har för mig att jag läst det nånstans.

Men hur ska man då göra för att det ska fungera enl. exemplet i länken ovan?

Medlem sedan mars 20007 896 inlägg
#4

Man kan göra på en hel del olika sätt, men typ:

Byt ut

print "<td><input type='button' value='Köp' name='kop_vara' onclick='add_item($i)' /></td>";

Mot

print "<td><input type='button' value='Köp' name='kop_vara' onclick=\"location.href='varor.php?action=additem&item=$i';\" /></td>";

Sen lägger du till en kontroll på 'varor.php' om en vara ska läggas till;

if( $_GET[ 'action' ] == "additem" && $_GET[ 'item' ] != "" ) {
     add_item( $_GET[ 'item' ] );
}
Medlem sedan jan. 200420 inlägg
#5

Ok, då förstår jag. Fattade inte riktigt hur det skulle lösas.

Tack för de snabba svaren!

431 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
294 ms — deklarationer (db)
0 ms — hämta statistik (cache)
135 ms — hämta tråd, inlägg och bilagor (db)
294 ms — ändringar (db)