我的确认不会触发查询?谁能看到我做错了什么?
url:http://www.example.co.uk/registerinterest.php?productid=125&confirm=Confirm
<div class="confirminterest">
<form action="registerinterest.php?productid=' . $productid . '" method="post" enctype="multipart/form-data">
<input name="confirm" type="submit" id="confirm" value="Confirm" />
<input name="cancel" type="button" id="cancel" value="Cancel" /></form>
</div>
if (isset($_GET['Confirm'])) {
$addinterest = mysql_query("INSERT INTO tm_credits_spent (fk_customer_id, fk_product_id, int_credits_spent) VALUES('$pid','$productid','$adminfee')") or die (mysql_error());
}
答案 0 :(得分:3)
当您的表单使用POST方法时,您正在寻找GET数据。由于您要将数据插入数据库,因此POST是正确的,因此请将$_GET
替换为$_POST
。
当您的按钮被命名为Confirm
时,您也在寻找confirm
。 PHP区分大小写,因此也要替换它。
$_POST['confirm']
您似乎也面临SQL injection的风险。
答案 1 :(得分:1)
添加我自己的答案,因为其他人错过了输入的名称是“确认”,而不是“确认”(这是它的值)。
因此,您必须检查isset()
$_POST['confirm']
,而不是$_POST['Confirm']
或$_GET['confirm']
。
答案 2 :(得分:0)
您的表单正在发送POSTdata,而不是GET。更改表单的方法,或检查$_POST['confirm']
。
答案 3 :(得分:0)
您已将方法设置为发布。试试$ _POST ['确认'];
答案 4 :(得分:0)
在您的GET
字符串和表单(使用POST
)中,字段为"confirm"
,而非"Confirm"
。请注意小写'c'
。
尝试:if (isset($_GET['confirm'])) {
(或if (isset($_POST['confirm'])) {
)。
答案 5 :(得分:-1)
你在html中使用php变量可能就是这个问题 替换它;
<form action="registerinterest.php?productid=' . $productid . '" method="post" enctype="multipart/form-data">
带
<form action="registerinterest.php?productid=' .<?php $productid ?>. '" method="post" enctype="multipart/form-data">
并且使用$_POST['confirm']
作为条件。