2011-11-24 4 views
0

this 예제를 사용하여 PHP를 사용하여 장바구니 페이지 추가를 만들었습니다. 2 페이지의 PHP 코드는 여기에 있습니다 : 장바구니 페이지에서

http://jameshamilton.eu/sites/default/files/cart.php_.txt

http://jameshamilton.eu/sites/default/files/products.php_.txt

, 나는 수량 입력 상자와 항목 당 수량을 업데이트하려고 업데이트 링크를 만들었습니다. 예를 작성한 사람 said은 수량을 업데이트하기 위해 수행해야 할 작업입니다. 그러나, 나는 이것을하는 데 문제가 있습니다.

$ _SESSION [ 'cart']에 저장된 수량을 장바구니 페이지의 수량 상자에 입력하는 방법으로 업데이트하는 방법을 모르겠습니다. 케이스에 대한 switch 문에 일부 코드가 있어야한다고 가정합니다. 업데이트 링크를 사용하여 액션 : 업데이트를 호출하여 항목 당 수량을 업데이트합니다.

this 예를 사용하여 $ _SESSION [ 'cart']을 (를) 업데이트하려면 어떤 코드를 사용할지 표시 할 수 있습니까? 이 예문의 저자에게 연락을 시도했지만 그는 결코 대답하지 않았습니다.

업데이트 :

https://soc.uwl.ac.uk/~21099475/code.txt

+1

게시 한 예가 정상적으로 작동합니다. 무엇이 잘못되었는지 찾으려면 코드를 참조하십시오. – Khronos

+0

코드를 작성했습니다. –

답변

-1

당신이 세션을 업데이트 할 수 있지만 논리 다음 사용 할 수 있습니다 여기에 내가 사용하고 코드의 관련 부분이다.

첫째로 당신은

unset($_SESSION['cart']['product_id']); //don't unset session,unset only quantity session 

지금이 작업을 수행하는 양식을 필요로 업데이트 할 하나 개 이상의 제품이있을 수 있기 때문에 세션

$_SESSION['cart']['product_id'] = 4; //updated value 
+0

그게 무슨 소리 죠? 물론 세션 값을 업데이트 할 수 있습니다. 설정을 해제 할 필요가 없습니다. 만약 당신이 대답을 게시하려고한다면 적어도 당신이 말하는 것을 알기 바랍니다. 감사합니다 – Flukey

1

을 만들 세션을 설정 해제. 다음은 수행해야 할 작업을 이해하는 예제입니다.

<form action="<?php echo $_SERVER[PHP_SELF]?>?action=update" method="post"> 
    <input type="text" name="quantity[2]" value="3" /> 
    <input type="text" name="quantity[3]" value="2" /> 
    <input type="text" name="quantity[4]" value="1" /> 
    <button type="submit" name="submit">Update</button> 
</form> 

양식이 제출되면 게시 된 수량을 확인하고 증감해야합니다.

if(!empty($_POST['quantity'])) { 
     foreach($_POST['quantity'] as $productID => $quantity) { 
      if(!empty($_SESSION['cart'][$productID])) { 
       $quantity = intval($quantity); 
       if($quantity > 0) { 
        $_SESSION['cart'][$productID] = $quantity; 
       } 
       else { 
        unset($_SESSION['cart'][$productID]); 
       } 
      } 
     } 
    } 

이 예제는 계속 진행될 것입니다.

+0

코드 주셔서 감사. 항목의 수량을 업데이트하려고하면 foreach 루프에 대한 오류 메시지가 나타납니다. 다음 장바구니에 추가하십시오 : http://21099475.site90.com/buyNow.php 그런 다음 업데이트 버튼을 사용하여 수량을 업데이트하면 오류가 나타납니다. 업데이트 된 PHP 코드는 https://soc.uwl.ac.uk/~21099475/code.txt –

+0

내 예제 (html)를 다시 확인하십시오. 입력의 name 속성을 array로 변경해야합니다. quantity [2] 여기서 2는 제품의 ID입니다. – Khronos

+0

이것은 시작했을 때의 예시임을 명심해야합니다. 추가 보안 (사용자 입력 확인, 제품이 실제로 존재하는지 확인 등)을 추가해야합니다. – Khronos

관련 문제