前段时间在做一个中奖的活了,其中就用到中奖之后把数据写入session 然后再由用户进行数据提交验证了,下面我们要介绍的不是那个例子而一个差不多例子了,具体如下。 登录页面是: php;auto-links:false;"><!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <title>登陆</title> </head> <body> <form name="login" action="login.php" method="post"> 姓名:<input type=text name="name"><br/> 密码:<input type=password name="password"><br/> <!-- <input type="radio" name="limits" value="1">管理员 --> <!-- <input type="radio" name="limits" value="0">普通用户 --> <input type="submit" name="submit" value="登录"> </form> </body> </html> 存储session的页面: <?php header("Content-Type: text/html; charset=utf8"); if( !isset($_POST["submit"]) ){ die("错误执行"); }//检测是否有submit操作 require_once('connect.php');//链接数据库 if ( isset($_POST['name']) && isset($_POST['password']) ){//如果用户名和密码都不为空 $name = $_POST['name']; $password = $_POST['password']; $sql = " SELECT id, limits, message FROM user WHERE username = '$name' AND password = '$password' LIMIT 1"; $result = mysqli_query( $con , $sql );//执行sql 用户名和密码 $rows = mysqli_num_rows( $result );//返回用户名密码是否存在 if( $rows != 0 ){ session_start(); while( $rows_other = mysqli_fetch_assoc($result) ){ $_SESSION['id'] = $rows_other['id']; $_SESSION['name'] = $name; $_SESSION['limits'] = $rows_other['limits']; $_SESSION['message'] = $rows_other['message']; } header("refresh:0;url=welcome.php");//跳转至welcome.html页面 exit; }else{ echo "用户名或密码错误"; echo "<script> alert('用户名或密码错误'); setTimeout(function(){window.location.href='login.html';},1000); </script>"; } }else{ echo "表单填写不完整"; //phpfensi.com echo "<script> alert('表单填写不完整'); setTimeout(function(){window.location.href='login.html';},1000); </script>"; } ?> 登陆后跳转的页面,根据不同的用户显示不同的权限和用户名: <?php <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Document</title> </head> <body> <?php session_start(); if( isset($_SESSION['id']) ){ require_once('connect.php'); $id = $_SESSION['id']; $name = $_SESSION['name']; $limits = $_SESSION['limits']; $message = $_SESSION['message']; if( $limits == 1 ){ echo 'hello, 管理员' . '<br/>'; }else{ echo 'helo, 普通用户' . '<br/>'; } echo 'hello you name is:' . $name; }else{ echo '未登录!'; header("refresh:3;url=login.html"); } ?> </body> </html> ?> 使用session注意事项 1.在当前页面要使用session时我们在文件最前面没有输入内容时加上session_start(); 2.session有一个时间限制的这个我们可以进行修改的,具体如下 其实PHP5 Session还提供了一个函数 session_set_cookie_params(); 来设置PHP5 Session的生存期的,该函数必须在 session_start() 函数调用之前调用: <?php // 保存一天 $lifeTime = 24 * 3600; session_set_cookie_params($lifeTime); session_start(); ?>(责任编辑:最模板) |