2012-03-31 48 views
2

如何将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> 

下$操作方法是在表单会根据是否有匹配与否之间$ 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

你可以通过AJAX提交表单,并有表单处理页面返回的输出,以判断它成功与否? – 2012-03-31 21:37:48

+0

'var confirmMsg = confirm(你确定要继续吗?“+”\ n“);'不用开始'''在'Are [..]'之前'... – 2012-03-31 21:40:05

+0

@GabrielSantos,是的,这是一个错字我在问题中键入它,它确实以“在我的应用程序中开始” – user1304197 2012-03-31 21:41:05

回答

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请求来显示执行,。

+0

嗨,我知道如何获得点击提交按钮后出现的确认,我已经这样做:)我的意思是,用户单击确定后确认,我想要的值插入数据库,但我怎么做这个。 – user1304197 2012-03-31 21:40:07

+0

如果他们点击取消,只需返回false,以便它不提交表单(假设这是你想要的)。 – BenOfTheNorth 2012-03-31 21:41:38

+0

@ user1304197如果您的表单被提交到包含您的php代码的页面,那么这将自动发生。 – jeroen 2012-03-31 21:43:07

1

您实际上无法用javascript编写php代码。他们都运行在服务器端的不同端PHP和客户端的JavaScript。

在你形成action属性给喜欢动作=“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

最佳 迪帕克

+0

嗨,我包括我的整个代码,所以如果你想正确地看看它,那么你可以解密。我会仔细查看你的答案和手册,看看我是否可以解决这个问题。 – user1304197 2012-03-31 22:13:00

+0

我想提到的事情是,虽然我想将值插入到数据库中,但我不想将用户导航到他们所在的页面。我希望在确认后将值插入到数据库中但我希望它允许用户保留在同一页面上或根据表单'action'导航到create_session2.php。那有意义吗? – user1304197 2012-03-31 22:15:54

相关问题