2017-07-26 20 views
2

したがって、選択項目が変更されるたびにMYSQLレコードを更新するようにしようとしています。しかし、私が正常にPHPコードをトリガーする唯一の方法は、以下に示すものではなく、入力ボタンを使うことです。私は、不可視入力を使用してPHPコードをトリガーできる必要があります。フォームが正しく送信されていません

全体のポイントは、select要素とボタンなしでPHPレコードを更新することです。

<form id="signin-form_id" class="panel" method="POST" style="margin-bottom: 0px;"> 
 
    <div class="input-group"> 
 
     <span class="input-group-addon"> 
 
      Coin 
 
     </span> 
 
     <select class="form-control" name="cointype" onchange="this.form.submit()"> 
 
      <option value="0" selected>Bitcoin</option> 
 
      <option value="1">Litecoin</option>  
 
     </select> 
 
    </div> 
 
    <noscript><input type="submit" name="ReferralCoin"></noscript> 
 
</form>
、送信ボタンをここで見PHPでPOSTイベントをトリガすると仮定されています はMYSQLインジェクションの脆弱性についてはコメントしないでください。私はそれが正常に動作し、入力ボタンを使用していたとPHPのPOSTコードを発生させますが、目に見えない入力を使用しているとき、それはPHP POSTコードをトリガしていない提出した場合

<?php 
if (isset($_POST['ReferralCoin'])) 
{ 
    $cointype = $_POST['cointype']; 
    if($cointype == "0") 
    { 
     $odb->exec("UPDATE users SET `coin` = '$cointype' WHERE `ID` = '$userid'"); 
    } 
    elseif($cointype == "1") 
    { 
     $odb->exec("UPDATE users SET `coin` = '$cointype' WHERE `ID` = '$userid'"); 
    } 
} 
?> 

問題があります。誰かが私のミスを見つけるのを助けることができれば、多くは感謝しています!あなたがここにsubmitボタンをチェックしている

+0

私もあなたのjsコードを表示してください – user3284463

+0

@ user3284463これに伴いJSコードはありません。これだけです。 Javascriptで何かが欠けていますか? – TymeBomb

+0

送信ボタンを使用してフォーム投稿をトリガーしていない場合は、何を使用していますか? 'select'要素のchangeイベントに応答してフォームを送信するJavaScriptコードがありますか?基本的に、フォームを提出したい場合は、*何かがそれを提出しなければなりません。 – David

答えて

3

if (isset($_POST['ReferralCoin'])) 

しかし(あなたの代わりにJavaScriptコードを経由してフォームを送信しているため)ボタンをクリックされていない提出した場合、それが含まれていません

POST値で指定します。したがって $_POST['ReferralCoin']が設定されていません。

小切手を完全に削除するか、その他の条件を確認する必要があります。 ($_POST['cointype']が設定されているかどうかなど)

+0

Worked!ありがとうございました。いつものように単純な間違い:/ – TymeBomb

関連する問題