终于懂浏览器里面的cookies和session了

时间:2023-11-22 18:55:38

在PHP开发中对比起Cookie,session 是存储在服务器端的会话,相对安全,并且不像 Cookie 那样有存储长度限制;

(Php、Asp、Jsp)---:

cookie(客户端)界面没有刷新的话,cookie在本页中是不会起作用的。

session(服务器)session默认是20分钟。

 <html>
<head>
<title> </title>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/>
</head>
<?php
session_start(); if(isset($_POST['submit'])){
$user = $_POST['userName'];
$pass = $_POST['pass']; $conn = mysql_connect("localhost","root","root") or die("链接数据库失败");
mysql_select_db("test");
mysql_query("set names 'utf8'"); $sql = "SELECT COUNT( * ) FROM users WHERE `userName` = '$user' AND `pass` = '$pass'";
$result = mysql_query($sql);
$row = mysql_fetch_row($result); if($row[0]){
$_SESSION["myname"] = $user; }
} if(isset($_SESSION['myname'])){
echo $_SESSION['myname'];
}
//unset($_SESSION['myname']);//关闭一个session
//session_destroy();//关闭多个session
?> <body>
<form action="login_seesion.php" method="post">
用户名:<input type="text" size="10" name="userName" /><br>
密 码:<input type="text" name="pass" /><br/>
<input type="submit" name="submit" value="登录"/>
</form>
</body> </html>
 <html>
<head>
<title>cookie</title>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/>
</head>
<?php
setcookie("mycookie","");
if(isset($_POST['submit'])){
$user = $_POST['userName'];
$pass = $_POST['pass']; $conn = mysql_connect("localhost","root","root") or die("链接数据库失败");
mysql_select_db("test");
mysql_query("set names 'utf8'"); $sql = "SELECT COUNT( * ) FROM users WHERE `userName` = '$user' AND `pass` = '$pass'";
$result = mysql_query($sql);
$row = mysql_fetch_row($result); if($row[0]){
setcookie("mycookie",$user,time()+1800);
}
}
?>
<body>
<?php
if(isset($_COOKIE['mycookie'])){
echo "欢迎你:".$_COOKIE['mycookie'];
}else{
?> <form action="login.php" method="post">
用户名:<input type="text" size="10" name="userName" /><br>
密 码:<input type="text" name="pass" /><br/>
<input type="submit" name="submit" value="登录"/>
</form>
<?php
}
?>
</body>
</html>