我目前有一个 index.php 文档,用于发送 login.php
的数据带有值的文档:
姓氏。
我想要做的是在将数据提交到我的数据库之前创建一个是/否对话框。这是我写的代码:
它们不在数据库中,因此存储
$readStr1 = 'Are you sure you want to create a user account under this email address?';
echo '
<script>
var r = window.confirm("'.$readStr1.'");
if (r==true)
'mysql_query("INSERT INTO `persons` (studentid,firstname,lastname,paid) VALUES ('".$studentid."','".$firstname."','".$lastname."','0')") or die(mysql_error());';
} else {
history.back();
}
</script>
';
我已经知道变量并且一切正常,因为我可以在没有echo代码的情况下将数据提交到 sql数据库。
但是,一旦我添加了该页面,整个页面都是空白的,没有任何控制台输出,也没有出现 javascript 弹出窗口。
感谢您的帮助,希望我提供了足够的信息:)
答案 0 :(得分:1)
你的php有语法错误。不要忘记字符串连接运算符:
$a=world;
echo 'hello,'.$a.'!';
你应该知道php的工作原理! 1.当您访问.php页面时,服务器将解释php以呈现html文档 2.渲染完成后,服务器将html文档发送到浏览器 3.当浏览器收到完成后,浏览器开始解释文档。并且javascript程序开始运行。
Php是服务器端语言,js是客户端,它们在不同的时间运行.PHP首先生成js代码(在服务器上),js运行第二个(在浏览器上)。
所以,你可以试试ajax。将确认条件发送到另一个php文件,让该文件运行查询语句:
echo '
<script>
var r = window.confirm("'.$readStr1.'");
if (r==true)
insert();
} else {
history.back();
}
function insert(){
// write some ajax code
}
</script>
';