我已经通过将代码更改为所有内容的顶部来解决我的 Cookies/Sessions 问题,之前<html>
,之前我是在标记之后编写我的 php 代码</html>
。
通过此更改,我丢失了 javascript 插件 ( http://fabien-d.github.io/alertify.js/ ) 的输出。
简单的例子:
if(Cookie::Exists('page-main-login-cookie')){
echo "<script type='text/javascript'>page_add_success('OK')</script>";
}
这不再有效,我明白为什么,因为 javascript 文件位于 之后<html>
,而我之前调用了该函数。
<script src="js/alertify/js/alertify.min.js"></script>
<script type="text/javascript">
function page_add_success(msg){
alertify.success(msg);
}
</script>
我在 stackoverflow 上找到了一些关于在 php.ini 中调用函数之前包含正确脚本的主题。就像是:
<?php
echo "<script src='js/jquery-1.9.1.min.js'></script>";
echo "<script src='js/jquery.mobile-1.3.2.min.js'></script>";
echo "<script src='js/alertify/js/alertify.min.js'></script>";
?>
所以,最后,我的文件的顶部是:
include('headscript.php');
if(Cookie::Exists('page-main-login-cookie')){
echo "<script type='text/javascript'>page_add_success('OK')</script>";
}
<html>
<head>
<script type="text/javascript">
function page_add_success(msg){
alertify.success(msg);
}
</script>
</head>
</html>
但是该功能继续在 PHP 的下方..并且不起作用。有任何想法吗?谢谢。