2017-03-09 9 views
0

私が知りたいのは、フォームデータがonClick = "insert.php"から直接phpサービスにPOSTされるとき、それは安全です。答えを説明してください。例えば :私が望んでいたようphpサービスをonClickから呼び出すことは安全ですか?

<form role="form" method="POST" enctype="multipart/form-data"> 
      <div class="form-group"> 
       <label>User Id</label> 
       <input class="form-control" name="First Name"> 
      </div> 
      <div class="form-group"> 
       <label>City Id</label> 
       <input class="form-control" name="Last Name"> 
      </div> 
<button type="submit" class="btn btn-primary" onclick="allowStory.php">Allow</button><button type="submit" class="btn btn-primary" onclick="insert.php">Insert</button> 
</form> 

また、PHPのサービスを実行することによって、同じページに戻ります。しかし、それは安全ですか?このタイプには何か欠点がありますか?もしそうなら、それらは何ですか?

+1

何もしません。 'onclick'属性は、実行するJavascriptコードを含んでいなければなりません。 – Barmar

+1

コンソールを開くと、ボタンをクリックするたびにエラーが表示されます。 – Barmar

+0

はい、コンソールにエラーが表示されます。しかし、データはデータベースにも挿入されます。 – Rohit

答えて

5

onclickにファイル名を入れても何も起こらないので、onclick属性にはJavaScriptコードが含まれている必要があります。

フォームのアクションではなく、送信ボタンを特定のスクリプトに移動する場合は、formaction属性を使用します。

<button type="submit" class="btn btn-primary" formaction="allowStory.php">Allow</button><button type="submit" class="btn btn-primary" formaction="insert.php">Insert</button> 

それは<form>タグのaction="scriptname.php"属性にフォームのアクションを指定すると何ら変わりません、これを実行するために完全に安全です。 HTML

   <form role="form" method="POST" id="formsend" enctype="multipart/form-data"> 
     <div class="form-group"> 
      <label>User Id</label> 
      <input class="form-control" name="First Name"> 
     </div> 
     <div class="form-group"> 
      <label>City Id</label> 
      <input class="form-control" name="Last Name"> 
     </div> 
      <input type="submit" name="submit" value="Submit" /></form> 

      <script src="http://code.jquery.com/jquery-1.11.0.min.js"></script> 
      <script> 
      $(document).on('submit', '#formsend', function() 
     { 
     $.post('savedate.php', $(this).serialize(), function(data) 
     { 

    $("#sent").html(data); 


     }); 

    return false; 

    }); 

とsavedata.phpまたは任意の他の名前を作成し、そこにデータを保存するためにPHPコードを入れて、次の

+0

これは、質問への答えではなく、むしろ提案です。あなたは答える代わりにこれをコメントに残すべきです。まずはとても良い質問です。 – Shogunivar

+0

@Shogunivarこの回答は、質問に対する回答と、OPの意図であると思われるものへの示唆の両方です。 – Jonathon

+1

@Shogunivar私は彼が明らかにしようとしていることをすることの安全性について何かを加えました。 – Barmar

0

使用。あなたはonclickイベントにファイル名を与えることができません

+0

返事をありがとう。 – Rohit

関連する問題