【发布时间】:2016-06-29 09:45:46
【问题描述】:
我在向表格发送数据时遇到问题,
该表应该保留所有placed order、cart_array、name、first name、last name 等。
它第一次提交,然后如果我想再下一个订单,什么也没有发生……它不会将数据发送到表中。
如果我从表中删除第一个条目并再次下订单,它会起作用,但自动增量 ID 从我刚刚删除的那个跳转(比如说从 id-1 到 id-14,取决于我尝试了多少次有过)
php 块是
<?php
function register_transaction($register_order){
array_walk($register_order, 'array_sanitize');
$fields = '`' . implode('`, `', array_keys($register_order)) . '`';
$data = '\'' . implode('\', \'', $register_order) . '\'';
mysql_query("INSERT INTO `transactions` ($fields) VALUES ($data)");
}
if (empty($_POST) === false) {
$register_order = array(
'product_id_array' => $_POST['product_id_array'],
'payer_email' => $_POST['payer_email'],
'first_name' => $_POST['first_name']
);
register_transaction($register_order);
}
?>
表格
<form action="" method="post">
<ul style="position:relative">
<li style="float:none;">Cart<br />
<input type="text" name="product_id_array" value="<?php echo $product_id_array;?>" /></li>
<li style="float:none;">Email<br />
<input type="email" name="payer_email" value="<?php echo $user_data["email"];?>" /></li>
<li style="float:none;">Name<br />
<input type="text" name="first_name" value="<?php echo $user_data["name"];?>" /></li>
<li style="float:none;">
<input type="submit" value="Trimite Comanda" /></li>
</ul>
</form>
【问题讨论】:
-
将error reporting 添加到文件顶部测试时在您打开PHP 标记之后,例如
<?php error_reporting(E_ALL); ini_set('display_errors', 1);,看看它是否产生任何结果。跨度> -
@RiggsFolly 它只给我“已弃用:mysql_connect():mysql 扩展已弃用,将来将被删除:”我知道这一点,但我仍然不这么认为是问题,因为它工作一次,整个网站工作,注册用户,添加产品,创建购物车数组..
-
@RiggsFolly 表中唯一的唯一字段是 ID,即 Auto Increment.. 所以这应该不是问题。