2016-03-04 43 views
1

方法注销中的php在未调用的情况下执行。起初用户名被回显很好,但在signout方法下面的第二个回显表明它的null。当singout链接被点击时它应该被调用。这是为什么发生?php中<script>标签执行不通话为什么?

<?php echo $_SESSION['username']; ?> // this echo show real value 

<script> 

function singout() 
{ 
    <?php $_SESSION['username']='null'; ?> 
    window.alert("<?php echo $_SESSION['username'];?>"); 

} 

<?php echo $_SESSION['username']; ?> // but this echo show null value 

</script> 

<a onclick="singout();" href="login.html" style="float: right">singout</a> 
+0

服务器/客户端体系结构101的编码... – CD001

+0

任何解决方案? – phpnet

+0

只是试图找到一个快速链接 - 本质上PHP运行在服务器上它总是在客户端上的任何东西(HTML,JavaScript)之前执行,因此你不能使用JavaScript来执行PHP ...除非你在一个单独的电话与Ajax – CD001

回答

2

您的PHP被调用时没有调用JS函数,因为在浏览器加载时,每个PHP行都被程序调用。仅仅因为你的PHP线在JS功能之内并不意味着它不会在浏览器加载时调用

+0

那么我应该如何解决和实现我想要的功能,任何解决方案? – phpnet

+0

感谢@iJamesPHP帮助 – phpnet

+0

有没有确切的解决方案来与您的Javascript中的PHP变量进行交互,您是否可以将它们重定向到一个名为logout.php的页面,然后调用session_start();其次是session_destroy();?如果你不想要任何形式的页面重定向,那么只需运行logout.php,通过使用一些随机虚拟变量对文件执行POST请求,仅仅触发logout.php而不重定向用户 – iJamesPHP

相关问题