如何在确认框上单击确定后插入值

时间:2012-03-31 21:33:52

标签: php ajax

如何将php代码放入javascript代码中,以便用户在确认框中单击“确定”后,将值插入数据库中? (表格提交给自己,但我没有提供表格代码)

以下是整个代码:

                                    <?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>

下面的$ action方法是表单取决于$ 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']; 

}

2 个答案:

答案 0 :(得分:1)

你实际上不能用JavaScript编写PHP代码。它们都运行在服务器端的不同端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访问表单,具体取决于您提交表单的方式。

如果您需要进一步参考,则可以查看此http://coredogs.com/lesson/form-data-php

最佳

迪帕克

答案 1 :(得分:0)

您可以将javascript函数附加到表单onSubmit事件处理程序:

<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请求中。