2017-05-12 11 views
-2

先に進む前に確認を受ける必要があります。 私のコードは:確認メッセージを表示

echo "<SCRIPT> confirm('Are you sure you want to continue') </SCRIPT>"; 

//press ok should keep on processing the code while cancel not. 

現在、いずれかのボタンが押され続けます。

確認用ポップアップウィンドウのどのボタンが押されたかを確認するにはどうすればよいですか?

+0

マニュアルで 'confirm()'を検索することから始めます – RiggsFolly

+0

または[このようなチュートリアル](https://www.tutorialspoint.com/javascript/javascript_dialog_boxes.htm)の検索 – RiggsFolly

+0

SOはチュートリアルサイトではありません – RiggsFolly

答えて

1

できません。 PHPはサーバー側の言語であり、JavaScriptはスロエント側の言語です。 JavaScriptは、クライアントブラウザでJavaScriptの実行が開始されるよりも前にサーバー上で実行されます。

これを行う1つの方法は、サービスを2つに分割することです。 JavaScriptの確認を使わなくても、送信ボタン付きのHTMLフォームとPOSTメソッド付きの隠し値を使うことができます。

<form method="POST"> 
    <input type=hidden name="internal_check" value="42"> 
    <input type=submit value="Click me to confirm!"> 
</form> 

ボタンをクリックすると、ページがリロードされます。

<?php 
    if(isset($_POST['internal_check']) && $_POST['internal_check'] == 42) 
    { 
     /* do confimed job here */ 
    } 
    else 
    { 
?> 
<form method="POST"> 
    <input type=hidden name="internal_check" value="42"> 
    <input type=submit value="Click me to confirm!"> 
</form> 
<?php 
} 
?> 

ページは秘密でPOSTコールを介してアクセスされなかった場合:あなたは、その値のためにPOST変数を確認することができますし、存在する場合、あなたはこのようなものを使用して確認済み仕事を続けることができますPHPスクリプトで

変数は正しい値を保持し、ユーザーは確認フォームのみを表示します。それ以外の場合は、特別なコードが実行されます。

ページの再読み込みに不満がある場合は、AJAXを使用して同じことを行うことができます。基本は同じですが、もう少し複雑です。

関連する問題