Php 是否可以运行会话_destroy();按一下按钮?
是否可以运行Php 是否可以运行会话_destroy();按一下按钮?,php,Php,是否可以运行session_destroy()点击一个按钮 我知道通常的用法是创建一个专用于它的页面,例如logout.php,并将按钮链接到该页面,但为了简单起见,不仅仅可以通过单击按钮来运行它吗?不能直接运行会话_destroy()在服务器上运行,您的按钮在客户端上运行 您可以做的是,在单击按钮时,通过Ajax调用logout.php 客户端: <script> $('#LogoutButton').click(function() { var reque
session_destroy()代码>点击一个按钮
我知道通常的用法是创建一个专用于它的页面,例如logout.php
,并将按钮链接到该页面,但为了简单起见,不仅仅可以通过单击按钮来运行它吗?不能直接运行<代码>会话_destroy()代码>在服务器上运行,您的按钮在客户端上运行
您可以做的是,在单击按钮时,通过Ajax调用logout.php
客户端:
<script>
$('#LogoutButton').click(function() {
var request = $.ajax({
url: "/path/to/logout.php",
type: "GET"
});
request.done(function(msg) {
alert("Logged Out");
});
request.fail(function(jqXHR, textStatus) {
alert("Error on Logging Out");
});
});
</script>
<button id="LogoutButton">Logout</button>
$(“#注销按钮”)。单击(函数(){
var请求=$.ajax({
url:“/path/to/logout.php”,
键入:“获取”
});
request.done(函数(msg){
警报(“注销”);
});
请求失败(函数(jqXHR,textStatus){
警报(“注销时出错”);
});
});
注销
Logout.php
<?php
session_destroy();
?>
不直接看待<代码>会话_destroy()代码>在服务器上运行,您的按钮在客户端上运行
您可以做的是,在单击按钮时,通过Ajax调用logout.php
客户端:
<script>
$('#LogoutButton').click(function() {
var request = $.ajax({
url: "/path/to/logout.php",
type: "GET"
});
request.done(function(msg) {
alert("Logged Out");
});
request.fail(function(jqXHR, textStatus) {
alert("Error on Logging Out");
});
});
</script>
<button id="LogoutButton">Logout</button>
$(“#注销按钮”)。单击(函数(){
var请求=$.ajax({
url:“/path/to/logout.php”,
键入:“获取”
});
request.done(函数(msg){
警报(“注销”);
});
请求失败(函数(jqXHR,textStatus){
警报(“注销时出错”);
});
});
注销
Logout.php
<?php
session_destroy();
?>
关于而不是AJAX答案,您可以将按钮包装在
元素中,然后将表单发布到同一页面。比如说
<form action="" method="post">
<input type="hidden" name="logout" value="true" />
<button>Logout</button>
</form>
这必须放在每个页面的开头,因此比AJAX答案要简洁一些,但不需要使用注销。php
文件而不是AJAX答案,您可以将按钮包装在
元素中,然后将表单发布到同一页面。比如说
<form action="" method="post">
<input type="hidden" name="logout" value="true" />
<button>Logout</button>
</form>
这必须放在每个页面的开头,因此比AJAX的答案要简洁一点,但不需要使用logout.php
filecalllogout.php
file使用AJAX和putsession_destroy()
在文件中,按钮需要发出AJAX请求。然后就可以做到了。(仍然可以在后台调用logout.php)单击按钮必须调用一些脚本来执行会话_destroy()如果您不想在浏览器中重新加载/加载另一个页面,那么无论您是调用脚本logout.php还是session_destroy.php,还是从_orbit.phpAgreed中使用nuke_it_-AJAX,都可以使用AJAX调用logout.php
文件并放置session_destroy()
在文件中,按钮需要发出AJAX请求。然后就可以做到了。(仍然可以在后台调用logout.php)单击按钮必须调用一些脚本来执行会话_destroy()如果你不想在浏览器中重新加载/加载另一个页面,那么无论你将脚本logout.php或session_destroy.php或nuke_it_from_orbit.phpAgreed-AJAX称为logout.php还是session_destroy.php,如果你不想在浏览器中重新加载/加载另一个页面,那么就应该使用AJAX。因此,根本不可能取消单独的logout.php
?在客户端:不。当然,你可以在代码中加入简单的一部分,检查是否需要注销(例如isset($\u GET['logout']){session_destroy()}
并使用参数logout=1
调用您自己。因此根本不可能取消单独的logout.php
?在客户端:不。确保您的代码中有简单的一部分,以检查是否需要注销(例如isset($_GET['logout']){session_destroy();}
并使用参数logout=1
调用您自己。您测试过吗?我测试过,我主要关心的是,它需要用户从页面导航以使更改生效。我已在销毁之前使用unset更新代码,该参数修复了该问题。只要在任何$\u会话之前调用该参数,则依赖代码和在会话之后\u start()
应该很好。你测试过这个吗?我测试过了,我主要担心的是,它需要用户从页面导航以使更改生效。我在销毁之前用一个unset更新了代码,它解决了这个问题。只要在任何$\u会话
依赖代码之前和会话启动之后调用它()
应该没问题