站长学院
CMS建站教程 SEO优化攻略
来源:齐鲁建站 栏目:开发教程 阅读: 日期:2023-01-10
Cookie是通过将数据保存在客户端来实现与服务端保持连接的,而Session是通过将数据保存在服务器端来实现保持连接的。获得CK,一种是通过cookie,一种是通过把值嵌入网页传给客户端。传到服务器,一种是cookie,一种是标准的Query String POST。
php中提供了一个函数来让我们设置cookie,这个函数是:
bool setcookie ( string $名字 [, string $值] [, int $过期时间 = 0] [, string $路径] [, string $域名] [, bool $安全 = false] [, bool $http只读 = false] );
一般来说,用不到上面那么多参数
这么用:
setcookie(cookie名,cookie值,cookie有效期);
没错,就那么3个
就可以在服务端通过$_COOKIE['name'] 来读取cookie了
一般是不会把用户名和密码放到cookie中的,因为这并不安全,容易泄露自己的信息,请不要把重要的信息放到cookie中
:::例子:::
cooke.php
<?php //第一次登录的时候,通过用户输入的信息来确认用户 if ( ( $_POST['username'] != null ) && ( $_POST['password'] != null ) ) { $userName = $_POST['username']; $password = $_POST['password']; //从db获取用户信息 //PS:数据库连接信息改成自己的 分别为主机 数据库用户名 密码 $conn = mysqli_connect('127.0.0.1','root','root'); mysqli_select_db($conn,'aaaaaa'); $sql = "select * from info where `Name` = '$userName' "; $res = mysqli_query($conn,$sql); $row = mysqli_fetch_assoc($res); if ($row['Password'] == $password) { //密码验证通过,设置cookies,把用户名和密码保存在客户端 setcookie('username',$userName,time()+60*60*24*30);//设置时效一个月,一个月后这个cookie失效 setcookie('password',$password,time()+60*60*24*30); //最后跳转到登录后的欢迎页面 header('Location: welcome.php' . "?username=$userName"); } } //再次访问的时候通过cookie来识别用户 if ( ($_COOKIE['username'] != null) && ($_COOKIE['password'] != null) ) { $userName = $_COOKIE['username']; $password = $_COOKIE['password']; //从db获取用户信息 //PS:数据库连接信息改成自己的 分别为主机 数据库用户名 密码 $conn = mysqli_connect('localhost','root','root','aaaaaa'); $res = mysqli_query($conn,"select * from info where `Name` = '$userName' "); $row = mysqli_fetch_assoc($res); if ($row['Password'] == $password) { //验证通过后跳转到登录后的欢迎页面 header('Location: welcome.php' . "?username=$userName"); } } ?> <html> <head> </head> <body> <form action="" method="POST"> <div> 用户名:<input type="text" name="username" /> 密 码:<input type="text" name="password" /> <input type="submit" value="登录"> </div> </form> </body> </html>
welcome.php
<?php $user = $_GET['username']; ?> <html> <head> </head> <body> welcome,<?php echo $user;?> </body> </html>