PHP添加到购物车无法正常工作(数量未成功添加)

时间:2016-08-14 02:55:17

标签: php

我有2页 - > product.php和cart.php。

当用户点击product.php上的“添加到购物车”按钮时,它将到达cart.php。但是,我的数量不是成功的,无论我点击多少次。数量始终保持为1.

product.php

echo '<form action="cart.php" method="POST">';
echo '<input type="hidden" name="quantity" value="0">';
echo '<input type="submit" value="add to cart">';
echo '</form>';

cart.php

if (isset($_POST["quantity"])){

$_POST["quantity"]=$_POST["quantity"]+1;
}
echo $_POST["quantity"];

我可以知道哪个部分出了问题吗?

2 个答案:

答案 0 :(得分:2)

正如我在评论中提到的那样,你需要为此使用会话,以便在每次点击按钮时增加一个数字。

我必须承认我从this answer提取/借用了以下内容(我赞成我可能会添加)。

N.B:以下的第二个版本就位于其下方。

如果在同一文件中使用:

TypeError: __call__() missing 1 required positional argument: 'y_true'

如果在两个文件中使用:

文件1:

<?php 

session_start();

if(isset($_POST['reset'])){ 

   unset($_SESSION['number']);

   session_destroy();

$_SESSION['number']=0;

}

if(!isset($_SESSION['number'])){
    $_SESSION['number']=1;
}elseif(isset($_POST['next'])){

    $_SESSION['number']++;

}

echo '
<form action="" method="POST">
   <input class="big_b" type="submit" name="next" value="Add to cart" /> 
   <input type="submit" name="reset" value="Reset" /> 
</form>';

echo $_SESSION['number'];

文件2:(next_page.php)

<?php 

echo '
<form action="next_page.php" method="POST">
   <input class="big_b" type="submit" name="next" value="Add to cart" /> 
   <input type="submit" name="reset" value="Reset" /> 
</form>';

参考:

如何检查会话是否等于某个数字:

您还可以检查会话是否已设置且是否等于某个数字:

<?php 

session_start();

// Reset to 1
if(isset($_POST['reset'])){ 

   unset($_SESSION['number']); // unset the session

   session_destroy(); // make sure the session is destroyed

$_SESSION['number']=0; // reset it back to zero

}

if(!isset($_SESSION['number'])){
    $_SESSION['number']=1;
}elseif(isset($_POST['next'])){
    $_SESSION['number']++;

}

echo $_SESSION['number'];

答案 1 :(得分:1)

正如@Fred -ii所说,如果您需要使用会话来实现此功能,如果您需要帮助以使您可以看到: shopping cart Session php

还要考虑在javascript中跟随js中购物车的有趣插件: http://www.simplecartjs.orghttp://www.jqueryrain.com/?ZpwnOCVU