2012-03-31 11 views
2

JavaScriptコードにPHPコードを挿入すると、ユーザーが確認ボックスで[OK]をクリックした後、データベースに値が挿入されます。 (フォームは、それ自体に提出するが、私は提供フォームコードをやりなさい)以下確認ボックスで[OK]をクリックした後に値を挿入する方法

は、全体のコードです:

        <?php 
session_start(); 

$username="xxx"; 
$password="xxx"; 
$database="xxx"; 

mysql_connect('localhost',$username,$password); 

@mysql_select_db($database) or die("Unable to select database"); 

       $sql = "INSERT INTO Media (Image, Video, Audio) 
        VALUES (' ". mysql_real_escape_string($image) . "', 
    ' ". mysql_real_escape_string($video) . "',' ". mysql_real_escape_string($audio) . "')"; 


       mysql_query($sql); 

mysql_close(); 

?> 

<script> 

function insertQuestion(form) { 

    var $tbody = $('#qandatbl > tbody'); 
    var $tr = $("<tr class='optionAndAnswer' align='center'></tr>"); 
    var $image = $("<td class='image'></td>"); 
    var $video = $("<td class='video'></td>"); 
    var $audio = $("<td class='audio'></td>"); 

     $tr.append($image); 
    $tr.append($video); 
    $tr.append($audio);  
    $tbody.append($tr); 

    } 

      function showConfirm(){ 

     var confirmMsg=confirm("Make sure that your details are correct, once you proceed after this stage you would not be able to go back and change any details towards Questions, Options and Answers for your Session." + "\n" + "\n" + "Are you sure you want to Proceed?" + "\n"); 

     if (confirmMsg==true) 
     { 
     submitform(); 
    } 
} 

      function submitform() 
      { 

     var QandAO = document.getElementById("QandA"); 

      QandAO.submit(); 

      } 

    </script> 

    <body> 

    <form id="QandA" action="<?php echo htmlentities($action); ?>" method="post" > 

    <table id="qandatbl" align="center"> 
<thead> 
<tr> 
    <th class="image">Image</th> 
    <th class="video">Video</th> 
    <th class="audio">Audio</th> 
</tr> 
</thead> 
<tbody></tbody> 
</table> 

<p><input id="submitBtn" name="submitDetails" type="submit" value="Submit Details" onClick="myClickHandler(); return false;" /></p> 

</form> 

     <script type="text/javascript"> 

function myClickHandler(){ 
    if(validation()){ 
       showConfirm(); 
    } 
} 

</script> 

    </body> 

フォームが間に一致するものがあるか否かによってどこに行くか下に$アクションメソッドがあります$ sessionMinusと$ _SESSION ['initial_count']を指定します。一致するものがあれば、create_session2.phpに投稿し、それ以外の場合はフォームを投稿してください。

if ($sessionMinus == $_SESSION['initial_count']){ 

    $action = 'create_session2.php'; 

}else if($sessionMinus != $_SESSION['initial_count']){ 

    $action = $_SERVER['PHP_SELF']; 

} 
+1

通過することができ、それが成功したかどう伝えるために出力を返しますか? –

+0

'var confirmMsg = confirm(確かに続行しますか?" + "\ n"); 'begin' '前' 'Are [..]' ... –

+0

@GabrielSantos、私は質問でそれをタイプしました、それは "私のアプリケーションの中で始まります" – user1304197

答えて

0

あなたは、フォームのonSubmitイベントハンドラにあなたのjavascript機能を付けることができます。

<form onsubmit="showConfirm();" ...> 

そして、あなたの関数がconfirmMsgの値を返すがあります。

function showConfirm() { 
    return confirm("Are you sure you want to Proceed?\n"); 
} 

そのように、あなたの確認ボックスにはfalseが返されますが、フォームは送信されませんが、trueが返されます。

編集:あなたのコメントに基づいて、フォームを含むページにPHPコードを追加していません。

if ($_SERVER['REQUEST_METHOD'] === 'POST') 
{ 
    // your php code 
} 
else 
{ 
    // your form code 
} 

今すぐフォームがポストされたときに、データベースのコードが実行されますと、フォームが通常のGETリクエストに表示されます:あなたは、フォーム自体に送信する場合があることを行う必要があります。

+0

こんにちは、送信ボタンをクリックした後で確認を表示する方法を知っています。私はすでにそれを行っています:)ユーザーがOKをクリックして値をデータベースに挿入したいのですが、これを行う。 – user1304197

+0

キャンセルをクリックすると、フォームを送信しないようにfalseを返します(あなたが望むものと仮定して)。 – BenOfTheNorth

+0

@ user1304197これは、あなたのフォームがあなたのPHPコードを含むページに提出された場合、自動的に起こります。 – jeroen

1

あなたは実際にはjavascriptで長いPHPコードを書くことはできません。彼らは両方とも、サーバー側とクライアント側のjavascript上の異なる端にphpを実行します。あなたに

は=「add.php」アクションのようなPHPページの名前を付けても、それがポストされたり、新しいファイルadd.phpを作るサーバーで、その後

を取得するかどうかの方法を言及し、属性アクションを形成します。そこにPHPコードを書いてください。

<?php 
    session_start(); 

    $username="xxx"; 
    $password="xxx"; 
    $database="xxx"; 

    mysql_connect('localhost',$username,$password); 

    @mysql_select_db($database) or die("Unable to select database"); 

      $sql = "INSERT INTO Media (Image, Video, Audio) 
       VALUES (' ". mysql_real_escape_string($image) . "', 
    ' ". mysql_real_escape_string($_POST['video']) . "',' ". mysql_real_escape_string($_POST['$audio']) . "')"; 


      mysql_query($sql); 
     mysql_query($sql); 

mysql_close(); 

?> 

あなたは、あなたのフォームを送信する方法に応じて、$ _GETや$ _POSTを使用してフォームにアクセスすることができます。

あなたはさらに参照する必要があるなら、あなたはあなたがAJAX経由でフォームを送信し、フォームの処理ページを持っているこのhttp://coredogs.com/lesson/form-data-php

ベスト ディーパック

+0

こんにちは、私はあなたがそれを正しく見たいと思うなら、あなたは深くすることができますので、私の全体のコードが含まれています。私はあなたの答えとマニュアルを見て、私がこれに取り組むことができるかどうかを見ていきます。 – user1304197

+0

私は言及したいことは、値をデータベースに挿入したいが、私はそのページから離れてユーザーをナビゲートしたくないということです。確認の後に値をデータベースに挿入したい私は、ユーザーが同じページにとどまったり、フォーム 'アクション'に応じてcreate_session2.phpにナビゲートできるようにしたいと考えています。それは理にかなっていますか? – user1304197

関連する問題