PHP 登录记住密码实现思路

form页面

复制代码 代码如下:

<form action="login.php" method="post">
用户名<input type="text" name="username"><br>
密码<input type="text" name="password"><br>
记住密码<input type="checkbox" name="jizhu" value="1"><br>
<input type="submit">
</form>
<a href=#><?php
session_start();
function p($arr){
echo "<pre>";
print_r($arr);
echo "</pre>";
}
p($_SESSION);
p($_COOKIE);
?>

登录页面
复制代码 代码如下:

<?php
function p($arr){
echo "<pre>";
print_r($arr);
echo "</pre>";
}
session_start();
//p($_POST);
$_SESSION['username'] = $_POST['username'];
$_SESSION['password'] = $_POST['password'];
if($_POST['jizhu']){
setcookie('username',$_POST['username'],time()+60);
setcookie('password',$_POST['password'],time()+60);
}
header("location:form.php");

用户信息页面
复制代码 代码如下:

<?php
session_start();
echo "先关闭浏览器,在访问form.php 试试,然后 点推出在关闭浏览器试试";
p($_SESSION);
p($_COOKIE);
if(empty($_SESSION['username'])){
if(empty($_COOKIE['username'])){
echo "<a href=#>}else{
$_SESSION['username'] = $_COOKIE['username'];
}
}
function p($arr){
echo "<pre>";
print_r($arr);
echo "</pre>";
}
?>
2131231231
<a href=#><a href=#>

推出页面
复制代码 代码如下:

<?php
session_start();
unset($_SESSION['username']);
unset($_SESSION['password']);
setcookie('username','',0);
setcookie('password','',0);
header("location:form.php");
?>

修改用户信息页面
复制代码 代码如下:

<?php
session_start();
if(empty($_SESSION['username'])){
echo "请先登录";
}else{
echo "这里是信息";
}
?>

本页内容版权归属为原作者,如有侵犯您的权益,请通知我们删除。
错误信息: Fatal error: session_start() [function.session-start]: Failed to initialize storage module: files (path: ) in C:\usr\phpMyAdmin\libraries\session.inc.php on line 75 I.更改服务器配置: 1、检查error.log(Apache2.2\logs)文件,查看是否有错误报告。未发现。 2、检查php.ini中的session.save_

PHP处理Oracle的CLOB实例 - 2015-04-08 14:04:04

本文实例简述了PHP处理Oracle的CLOB的方法。分享给大家供大家参考。具体方法如下: 1. 写入数据 在使用PDO的预处理方法时,如果使用bindParam()等而不指定字段的数据类型或使用execute(),PDO都会默认为string类型,并且限定一个默认长度 所以在存clob类型字段时必须使用bindParam()或bindValue()等,并指定字符串长度,例如: 复制代码 代码如下: $pdo - bindParam(':clobData', $clobData, PDO::PARAM_S
memcacheQueue.class.php 复制代码 代码如下: ?php /** * PHP memcache 队列类 * @author LKK/lianq.net * @version 0.3 * @修改说明: * 1.放弃了之前的AB面轮值思路,使用类似数组的构造,重写了此类. * 2.队列默认先进先出,但增加了反向读取功能. * 3.感谢网友FoxHunter提出的宝贵意见. * @example: * $obj = new memcacheQueue('duilie'); * $obj-a
对于ThinkPHP的截取字符串函数无法显示省略号的情况,解决方法如下: 打开Common/extend.php页面,修改msubstr函数如下: function msubstr($str, $start=0, $length, $charset="utf-8", $suffix=true){ if(function_exists("mb_substr")) { if($suffix) { if($str==mb_substr($str, $start, $length, $charset)) { re
最近想自学PHP ,做了个验证码,但不知道怎么搞的,总出现一个如下图的小红叉,但验证码就是显示不出来,原因如下 未修改之前,出现如下错误; (1)修改步骤如下,原因如下,原因是apache权限没开, (2)点击打开php.int., 搜索extension=php_gd2.dll 打开?去掉前面分号重启apache,就OK了 ,万事大吉了。 希望各位朋友遇到这样的问题的时候,能给与帮助

PHP防盗链代码实例 - 2015-04-08 14:04:05

防盗链是目前非常常见的web程序设计技巧。本文就以一个实例展示了PHP防盗链的实现方法。分享给大家供大家参考之用。具体方法如下: 主要功能代码如下: ?php/*使用方法:将上述代码保存为dao4.php,比如测试用的validatecode.rar在站点http://www.XXXX.com里面,则用以下代码表示下载连接.文件名?site=1file=文件 例如以下URL:http://www.XXXX.cn/dao4.php?site=1file=validatecode.rar */$ADMIN[d
最后更新: 2011/04/02 1. 使用list来实现一次获取explode后的特定段值: list( , $mid) = explode(';', $string); 2. 使用NULL === 来代替is_null: is_null和 NULL === 完全是一样的效果, 但是却节省了一次函数调用. 3. 使用===尽量不用==: PHP有俩组相等比较运算符===/!==和==/!=, ==/!=会有隐式类型转换,而===/!==会严格比较俩个操作时是否类型相同并且值相等. 我们应该尽量使用===而
复制代码 代码如下: ?php function transCountryCode($code) { $index=array('AA'='阿鲁巴', 'AD'='安道尔', 'AE'='阿联酋', 'AF'='阿富汗', 'AG'='安提瓜和巴布达', 'AL'='阿尔巴尼亚', 'AM'='亚美尼亚', 'AN'='荷属安德列斯', 'AO'='安哥拉', 'AQ'='南极洲', 'AR'='阿根廷', 'AS'='东萨摩亚', 'AT'='奥地利', 'AU'='澳大利亚', 'AZ'='阿塞拜疆'
网上搜了很多方法都不奏效,研究了一天,发现通过以下的配置可以完美支持 'URL_MODEL' = 2 的情况了 复制代码 代码如下: location /project/ { index index.php; if (!-e $request_filename) { rewrite ^/project/(.*)$ /project/index.php/$1 last; break; } } location ~ .+\.php($|/) { set $script $uri; set $path_info
ThinkPHP CURD方法的field方法属于模型的连贯操作方法之一,主要目的是 标识要返回或者操作的字段 ,可以用于查询和写入操作。 1、用于查询 在查询操作中field方法是使用最频繁的。 $Model-field('id,title,content')-select(); 这里使用field方法指定了查询的结果集中包含id,title,content三个字段的值。执行的SQL相当于: SELECT id,title,content FROM table 当然,除了select方法之外,所有的查询