0

我的 Get Confirm 没有触发查询?谁能看到我做错了什么?

网址: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());
}
4

6 回答 6

3

当您的表单使用 POST 方法时,您正在寻找 GET 数据。由于您正在将数据插入数据库,因此 POST 是正确的,因此请替换$_GET$_POST.

您还在寻找Confirm您的按钮何时命名confirm。PHP 是区分大小写的,所以也替换它。

$_POST['confirm']

您似乎也面临SQL 注入的风险。

于 2012-04-06T16:17:43.640 回答
1

添加我自己的答案,因为其他人缺少您输入的名称是“确认”,而不是“确认”(这是它的值)。

所以你必须检查isset(), $_POST['confirm']not $_POST['Confirm']or $_GET['confirm']

于 2012-04-06T16:20:15.063 回答
0

您的表单发送的是 POST 数据,而不是 GET。要么更改表单的方法,要么检查$_POST['confirm'].

于 2012-04-06T16:18:15.853 回答
0

您已将方法设置为 post。尝试使用 $_POST['Confirm'];

于 2012-04-06T16:18:46.137 回答
0

在您的GET字符串和表单(使用POST)中,该字段是"confirm",而不是"Confirm"。注意小写'c'

试试:(if (isset($_GET['confirm'])) {if (isset($_POST['confirm'])) {)。

于 2012-04-06T16:22:15.433 回答
-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']的,用于条件。

于 2012-04-06T16:35:01.477 回答