调用javascript函数来运行php代码
Calling javascript function to run php code
我想做一个登录页面,当你点击注销它会注销你然后刷新页面,然而,每当JavaScript $。得到它,它只是不运行PHP代码,但它刷新页面。非常感谢你的帮助。
index . php
<script type="text/javascript" src="js/jquery-1.8.3.js"></script>
<script type="text/javascript">
function logOut() {
$.get("logout.php");
location.Reload();
return false;
}
</script>
<a href="#" onclick="logOut();">Log Out</a>
logout.php
<?php
setcookie('username', '', 0);
setcookie('password', '', 0);
?>
您必须在成功时添加刷新,或者至少等待呼叫结束。
<script type="text/javascript" src="js/jquery-1.8.3.js"></script>
<script type="text/javascript">
function logOut() {
$.get("logout.php" , returndata , function() {
location.Reload(); });
}
</script>
<a href="#" onclick="logOut();">Log Out</a>
改变你的setcookie也被立即删除。常用的方法是输入过去的时间戳:
setcookie('cookiename',0,( time() - 3600 ));
为什么不使用javascript来删除cookie,而使用php来获取php cookie
根据setcookie
setcookie('username', '', 0);
在会话结束时过期
到期
cookie过期的时间。这是一个Unix时间戳,表示从epoch开始的秒数。换句话说,您很可能使用time()函数加上您希望它过期前的秒数来设置它。或者您可以使用mktime()。Time()+60*60*24*30将设置cookie在30天内过期。如果设置为0或省略,cookie将在会话结束时过期(当浏览器关闭时)。
如果您想删除cookie,您应该使用0
以外的值
setcookie('username', '', 1);
首先,您的注销功能实现错误。如果您想删除所有cookie(假设您的系统不复杂,假设您不需要保留用户偏好,如主题、语言、UI参数)
则logout.php
应与
<?php
//Will remove all cookies
if ( !empty($_COOKIE) ){
foreach($_COOKIE as $key){
//Set each key in past
setcookie($key, null, time() - 84600);
}
}
//Would destroy the session if it does exists
if ( !empty($_SESSION) ){
session_destroy();
}
//Don't forget to redirect back to home page
header('Location: /');
exit();
如果您100%确定cookie已设置,但setcookie()
没有删除它们,则可能99%它们位于不同的路径上。
确保,当你设置/删除它们时,它们在相同的路径上。setcookie()
接受第四个可选参数path
。
<?php
//So when you set a cookie
setcookie('cookie_key', 'cookie_value', time() + some_lifetime_in_seconds, '/');
//And when you remove a cookie:
setcookie('cookie_key', '', time() - 86400, '/');
第二
您不应该使用类似ajax的注销函数。这是不明智的,而且有点浪费内存。
代码:
<script type="text/javascript" src="js/jquery-1.8.3.js"></script>
<script type="text/javascript">
function logOut() {
$.get("logout.php");
location.Reload();
return false;
}
</script>
<a href="#" onclick="logOut();">Log Out</a>
应该重写为
<script type="text/javascript" src="js/jquery-1.8.3.js"></script>
<a href="/logout.php">Log Out</a>
相关文章:
- php代码在textbox更改事件上显示null
- 无法运行php代码,有角度路由问题
- jquery中的PHP代码不起作用
- 获取PHP代码中日期选择器的值
- PHP代码古埃及乘法javascript
- PHP代码中实现的JavaScript |if语句不起作用
- 如何将javascript变量传递到Php代码中.
- 在按钮'上运行PHP代码;s onclick事件,或者使用Ajax
- 停止直接执行php代码而不点击按钮
- php代码或脚本接受自动完成列表中文本框中的值
- 无法使autocompletion与bootstrap和php代码点火器一起工作
- 添加 PHP 代码的 Javascript 下拉框
- 在 php 代码中实现倒计时 js 倒计时
- AJAX 中的 PHP 代码到 POST
- 用于修改文档元素的 PHP 代码
- 链接适用于所有浏览器,除了 safari(php 代码)
- PHP 代码中的 CSS 弄乱了 IE9 中的布局
- Javascript的“document.write()”中的PHP代码
- JavaScript 函数在 php 代码中的调用中不起作用
- JavaScript 只在 php 代码中执行一次