[英]What am I doing wrong here if(isset($_GET['Confirm']))?
我的获取确认没有触发查询? 谁能看到我做错了什么?
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());
}
当您的表单使用 POST 方法时,您正在寻找 GET 数据。 由于您要将数据插入数据库,因此 POST 是正确的,因此将$_GET
替换为$_POST
。
当您的按钮名为confirm
时,您也在寻找Confirm
。 PHP 区分大小写,因此也将其替换。
$_POST['confirm']
您似乎也面临SQL 注射的风险。
添加我自己的答案,因为其他人缺少您输入的名称是“确认”,而不是“确认”(这是它的价值)。
因此,您必须检查isset()
的$_POST['confirm']
,而不是$_POST['Confirm']
或$_GET['confirm']
。
您的表单正在发送 POST 数据,而不是 GET。 要么更改表单的方法,要么检查$_POST['confirm']
。
您已将方法设置为发布。 试试 $_POST['Confirm'];
在您的GET
字符串和您的表单(使用POST
)中,该字段是"confirm"
,而不是"Confirm"
。 注意小写字母'c'
。
尝试: if (isset($_GET['confirm'])) {
(或if (isset($_POST['confirm'])) {
)。
您在 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']
作为条件。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.