仅当用户在对话框中选择“是”时,才能在php中执行语句

时间:2017-07-05 05:19:31

标签: php mysql confirm

我正在尝试仅在用户在确认对话框中输入yes时才将数据插入mysql,但即使用户输入no,数据也会始终插入到mysql中。这是我的代码..

<?php if (mysqli_num_rows($data_query) >= 1) { ?>
    <script>
        var txt;
        var r = confirm('Duplicate Data! Click OK to Add & Cancel to Cancel it')
        if (r == true) {
            <?php
                $query="INSERT INTO video_data(date) " ;
                $query .= "VALUES('{$date}')";
                $create_video_query=mysqli_query($connection,$query);

                if (!$create_video_query) {
                    die("failed".mysqli_error());
                } else {
                    $success = "Video added succesfully"; 
                }
            ?>
        }          
    </script>
<?php } ?>

2 个答案:

答案 0 :(得分:0)

在没有php的情况下测试你的代码。

  1. 在“点击确定添加并取消以取消它”之后,您错过了分号“”
  2. 确保你真的有“if(r == true)”和“if(r = true)”
  3. 我测试了以下代码(删除了php)并且它可以工作:

         <html>
         <body>
         <script>
            var txt;
            var r = confirm('Duplicate Data! Click OK to Add & Cancel to Cancel it');
            if(r==true){
                alert('Clicked OK: Run insert sql');
            } else {
                alert('Clicked Cancel: Do nothing');
            }          
         </script>
         </body>
         </html>
    

答案 1 :(得分:0)

您不能将服务器端(PHP)和客户端(JavaScript)混合在一起以实时进行交互。你必须使用AJAX,或者你必须提交一个表单(一个内置在HTML中或由javascript构建)。这只是一个基本的例子:

<?php
# Checks to see if the form has been submitted
if(isset($_POST['add'])) {
    $query="INSERT INTO video_data(date) " ;
    $query .= "VALUES('{$date}')";
    $create_video_query=mysqli_query($connection,$query);
    if(!$create_video_query) {
        die("failed".mysqli_error());
    }
    else {
        $success = "Video added succesfully"; 
    }
}          
?>

<?php
# I don't know what this is based on (the query) so I don't know if it's required.
# I just left it
if(mysqli_num_rows($data_query) >= 1) { ?>
<script>
var txt;
var r = confirm('Duplicate Data! Click OK to Add & Cancel to Cancel it');
if(r !== false){
    // Assumes there is a form to submit and submits it
    form.submit();
}
</script>
<?php  } ?>