2012-04-06 2 views
0

マイクを確認してもクエリは実行されませんか?誰かが私が間違っているのを見ることができますか?

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

URLには「GET」パラメータが含まれていますが、フォームには「POST」が使用されています。あなたがそのURLに行くとき、またはフォームが 'POST'されたときに' INSERT'が実行されますか? –

+0

いいえ上記のURLを送信しても何もDBには挿入されません – user1224032

答えて

3

フォームがPOSTメソッドを使用するときは、GETデータを探しています。データをデータベースに挿入するので、POSTは正しいので、$_GET$_POSTに置き換えてください。

ボタンの名前がconfirmの場合は、Confirmも探しています。 PHPでは大文字と小文字が区別されるため、これも置き換えてください。

$_POST['confirm'] 

またSQL injectionのリスクがあると思われます。

+0

ありがとう、それでも変更はありません:-( セキュリティはまだ追加されていません – user1224032

+0

@ user1224032 - あなたはそれをどのように知っていますかあなたはエラーメッセージを受け取りますか? – Quentin

+0

@ user1224032 - セキュリティは後で追加するものではなく、最初からビルドします(特に、完了したらPHPを使ったデータベースセキュリティはmysql_query関数を使わないことから来ています)それ以外の場合は、それを追加するために戻ってきて少し余裕があります。 – Quentin

0

あなたのフォームはGETではなくPOSTデータを送信しています。フォームのメソッドを変更するか、$_POST['confirm']をチェックしてください。

0

投稿方法を設定しました。 $ _POST ['Confirm']で試してみてください。

1

自分自身の回答を追加すると、入力の名前が「確認」(その値)ではなく「確認」されているため、自分の回答を追加します。

だから$_POST['confirm']、ない$_POST['Confirm']$_GET['confirm']ためisset()をチェックする必要があります。

0

GET文字列と(POSTを使用する)フォームの両方で、フィールドは"Confirm"ではなく"confirm"です。小文字の'c'に注意してください。

試行:if (isset($_GET['confirm'])) {(またはif (isset($_POST['confirm'])) {

-1

あなたはhtmlでphp変数を使用しているかもしれませんが、それは問題です これを置き換えてください;

<form action="registerinterest.php?productid=' .<?php $productid ?>. '" method="post" enctype="multipart/form-data"> 

とはい条件のため$_POST['confirm']を使用して

<form action="registerinterest.php?productid=' . $productid . '" method="post" enctype="multipart/form-data"> 

関連する問題