0

我对以下代码有疑问。我对插入和更新都有一个功能。根据行数,将执行每个函数。我想在执行操作之前提供一个确认框。在取消消息时,它不应该执行该功能。我怎样才能做到这一点?
以下是代码:

if (isset($_POST['Save']))

{

$query = "SELECT * FROM `table_name` WHERE `submission_id` = '$submission_id'";

$sqlsearch = mysql_query($query);

$resultcount = mysql_num_rows($sqlsearch);


if ($resultcount > 0) 
{
mysql_query("UPDATE `table_name` SET 
    `name` = '$name',
    `email` = '$email',
    `phone` = '$phonenumber',
    `subject` = '$subject',
    `message` = '$message' 
    WHERE `submission_id` = '$submission_id'") or die(mysql_error());
} 
else 
{
mysql_query("INSERT INTO `table_name` (submission_id, formID, IP, 
    name, email, phone, subject, message) 
    VALUES ('$submission_id', '$formID', '$ip', 
    '$name', '$email', '$phonenumber', '$subject', '$message') ") or die(mysql_error());
        }
    }
?>`
4

5 回答 5

0

在表单操作上尝试 javascriptconfirm函数onsubmit

var conf=confirm('Are You Sure You Want to Add/Edit?');
if(conf){
 return true; //perform the task
}else{
  return false; // Cancel the task
}

更新

在表单中有一个隐藏值,如果设置了 id,则调用 js 操作,类似这样

<input type="hidden" id="user_id" value="<?php echo $user_id;?>" />

然后,

var user_id= $('#user_id').val();
if(user_id) {
  var conf=confirm('Are You Sure You Want to Update?');
    if(conf){
     return true; //perform the task
    }else{
      return false; // Cancel the task
    }
}else{
//your action
}
于 2012-10-01T12:22:17.943 回答
0

改变这个:

$resultcount = mysql_numrows($sqlsearch);

对此:

$resultcount = mysql_num_rows($sqlsearch);
于 2012-10-01T12:22:35.867 回答
0

使确认框显示“保存按钮”的 onClick 事件:

<input type="submit" name="save" onclick="return confirm('Are you sure you to....?')"> 
于 2012-10-01T12:28:42.457 回答
0

您可以向表单上的 onsubmit 属性添加验证。(点击no时表单不会提交)

<form name="example" action="saver.php" onsubmit="return confirm('Confirmation Message');">
<!-- Inputs / Elements -->
</form>

关于您的其他查询(将您的 Javascript 结果传递给您的 PHP 文件):

如果您想要用户选择的值,您可以插入一个带有确认框状态的隐藏字段。例如

<form name="example" action="saver.php" onsubmit="return updateExecuted();">
<input type="hidden" id="confirmationStatus" name="confirmationStatus" />
<!-- Inputs / Elements -->
</form>

<script type="text/javascript">
    function updateExecuted(){
       var con=confirm('Confirmation question');
       if(con){
          document.getElementById('confirmationStatus').value = "yes";
       }
       else{
          document.getElementById('confirmationStatus').value = "no";
          //See comments below regarding - return false;
       }
       return true;
    }
</script>

这是一个如何将 javascript 确认结果变量传递到 php 文件的示例。$_POST['confirmationStatus']您可以通过引用值来检查 php 文件中此变量的状态。

我有点着急,但我希望这会有所帮助。

于 2012-10-01T12:29:04.133 回答
0

只需将其添加到您的表单中

onsubmit="return confirm('Your Confirmation Message');">

在你的情况下

<input type="submit" name="save" onsubmit="return confirm('Your Confirmation Message');> 
于 2012-10-01T12:32:46.953 回答