我有一个JavaScript确认框,我有一些MySQL插入查询代码在某些情况下执行。这就是我的代码的样子:
<?php
$id = $_POST['id'];
$name= $_POST['name'];
$query = mysql_query("select * from table where id='$id'");
$count = mysql_num_rows($query );
if($count!=0)
{
?>
<script type="text/javascript">
if (confirm("This seems to be Duplicate. Do you want to continue ?") == true)
{
//Execute/Insert into table as how it is given below
}
else
{
//Dont execute/insert into table but close the window
}
</script>
<?php
}
else
{
$queryinsert = mysql_query("INSERT INTO table(id,name) VALUES('$id','$name')");
}
?>
答案 0 :(得分:2)
你不能在javascript中执行MySQL或PHP命令,你可以做的是创建一个可以通过Ajax调用的PHP函数。最好的方法是在网址中使用jQuery或redirecting页面和PHP函数。
<script type="text/javascript">
if (confirm("This seems to be Duplicate. Do you want to continue ?"))
{
$.ajax({
url: 'your_path_to_php_function.php',
type: 'POST', // Or any HTTP method you like
data: {data: 'any_external_data'}
})
.done(function( data ) {
// do_something()
});
}
else
{
window.location = 'your_url?yourspecialtag=true'
}
</script>
答案 1 :(得分:0)
您正在混合使用服务器端和客户端。这不会奏效。您必须使用AJAX,这是异步服务器 - 客户端/客户端 - 服务器请求。我推荐jQuery,这是一个很容易处理很多东西的JavaScript,包括AJAX。
如果用户确认操作
,请运行此选项$.post("phpscript.php", {action: true})
Php文件:
if ($_POST['action'] === TRUE) {
<your code here>
}