我目前有一个 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> ';
我已经知道变量并且一切正常,因为我可以在没有回显代码的情况下将数据提交到 sql 数据库。
但是,一旦我添加了它,整个页面就是空白,没有任何控制台输出,也没有出现 javascript 弹出窗口。
感谢您的帮助,希望我提供了足够的信息:)
最佳答案
为什么空白
您的 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>
';
关于PHP 文档中的 Javascript 弹出 Yes 和 No 对话框窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39176210/