-1
我试图创建一个php车,我有一个表与几个产品,当我点击提交按钮调用一些JavaScript,然后提交表单。 当我执行页面并按下按钮时,我得到一个页面“productcart.php?productid = 1 & command = add”,并且chrome表示存在内部服务器错误。我相信有一个jscript或PHP错误,不会让变量被拉入php代码块。任何人都可以看到有什么我做错了吗? 还有什么“?productid = 1 & command = add”是什么意思?为什么浏览器返回?PHP没有从jscript获取变量
<script type="text/javascript">
\t function addtocart(prod_id)
\t {
\t \t document.productform.productid.value = prod_id;
\t \t document.productform.command.value = 'add';
\t \t document.productform.submit();
\t }
\t </script>
<?php
\t include("local-connect.php");
\t include("productfunctions.php");
\t
\t if($_REQUEST['command'] == 'add' && $_REQUEST['productid'] > 0)
\t {
\t \t $product_id = $_REQUEST['productid'];
\t \t add_to_cart($product_id, 1);
\t \t echo 'it worked';
\t \t //header("Location:cart.php");
\t \t exit();
\t }
?>
<form name="productform" action="">
\t \t <input type="hidden" name="productid" />
\t \t <input type="hidden" name="command" />
\t \t
\t <table id="product_table">
\t <?php
\t \t $query = "SELECT * FROM products";
\t \t $result = mysqli_query($dbc,$query) or die ("Error querying database");
\t \t while($row = mysqli_fetch_array($result))
\t \t {
\t \t \t echo '<tr>
\t \t \t <td><img id="shopping_img" src="' .$row['image'] . '"/></td>
\t \t \t <td><p><strong>' . $row['name'] . '</strong></p>
\t \t \t <p>' . $row['descri'] . '</p>
\t \t \t <p>Price:<strong>$' . $row['price'] . '</strong></p></td>
\t \t \t <td><input type="button" value="Add to Cart" onclick="addtocart(' . $row['id'] . ')" /></td>
\t \t \t </tr>';
\t \t }
\t ?>
\t </table>
\t
\t </form>
检查服务器的错误日志有关500 – 2014-12-03 18:46:19
细节*也什么了 “?的productid = 1&命令=添加” 呢?为什么浏览器返回?*因为GET是GET请求,因为GET是窗体方法的默认值。 – epascarello 2014-12-03 18:48:49
你应该编辑你的'php.ini'并启用错误记录。没有它们的调试真的很难。您可以将'display_errors'或'log_errors'设置为'On':http://php.net/log-errors – 2014-12-03 18:49:45