我对以下代码有疑问。我有一个插入和更新功能。根据行计数,将执行每个功能。我想在执行操作之前提供一个确认框。在取消消息时,它不应该执行该功能。我怎么能这样做?
以下是代码:
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());
}
}
?>`
答案 0 :(得分:0)
在confirm
表单操作上尝试javascript 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
}
答案 1 :(得分:0)
改变这个:
$resultcount = mysql_numrows($sqlsearch);
对此:
$resultcount = mysql_num_rows($sqlsearch);
答案 2 :(得分:0)
在确认框中显示“保存按钮”的onClick事件:
<input type="submit" name="save" onclick="return confirm('Are you sure you to....?')">
答案 3 :(得分:0)
您可以在表单的onsubmit属性中添加验证。 (单击否时表单不会提交)
<form name="example" action="saver.php" onsubmit="return confirm('Confirmation Message');">
<!-- Inputs / Elements -->
</form>
关于您的其他查询(将您的Javascript结果传递给您的PHP文件):
如果您想要用户选择的值,您可以插入一个隐藏字段,其中包含确认框的状态。 E.g。
<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文件中此变量的状态。
我有点急,但我希望这有帮助。
答案 4 :(得分:0)
只需在表单中添加
即可onsubmit="return confirm('Your Confirmation Message');">
在你的情况下
<input type="submit" name="save" onsubmit="return confirm('Your Confirmation Message');>