0

Getconfirmがクエリをトリガーしていませんか?誰かが私が間違っていることを見ることができますか?

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());
}
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']$_POST['Confirm']$_GET['confirm']

于 2012-04-06T16:20:15.063 に答える
0

フォームは GET ではなく POSTdata を送信しています。フォームのメソッドを変更するか、または を確認してください$_POST['confirm']

于 2012-04-06T16:18:15.853 に答える
0

メソッドを投稿するように設定しました。$_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 に答える