php(5)

本文详细介绍了使用PHP实现的登录系统,包括cookie和session的使用方法。通过实例代码展示了如何使用cookie进行用户验证,以及session在用户登录状态管理中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

cookie用法,获取输入之后再进行保存在客户端,提供给之后的页面

login.php

<?php
if ($_GET['action']=='login') {
    if($_POST['name']=='admin'&& $_POST['pwd']==123456){
        setcookie('userName',$_POST['name'],time()+3600*24);
        header('Location:index.php');
    }else{
      echo '<script>alert("用户名或密码不正确");</script> ';
    }
}elseif($_GET['action']=='logout'){
    setcookie('name',' ',time()-3600);
}
?>
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>用户登录</title>
</head>
<body>
    <form action="<?php echo $_SERVER['PHP_SELF'];?>?action=login" method="post">
    
    <fieldset>
    <legend>用户登录:</legend>
    <label for="name">用户名:</label>
    <input type="text" name="name" id="name">
    <label for="pwd">密码:</label>
    <input type="password" name="pwd" id="pwd">
    <input type="submit" value="提交">
    </fieldset>
    </form>

</body>
</html>

index.php

<?php
header("content-type:text/html;charset=utf-8");
if(!isset($_COOKIE['userName'])){
    header('Location:login.php');
}else{
    echo $_COOKIE['userName'].'欢迎回来'.'<br/>';
    echo 'php';
}
?>

在使用session之前,要加上session_start();

和注册session类似,都要先建立一个global数组,然后就和使用一般数组一样了。

卸载session    session_unregister(login)

index.html

<html> 
<head> 
<title>测试</title> 
</head> 
<body> 
<FORM METHOD=POST ACTION="login.php"> 
用户名:<INPUT TYPE="text" NAME="name"><br/> 
密码:<INPUT TYPE="password" name="pwd"><br/> 
<INPUT TYPE="submit" value="提交"> 
</FORM> 
</body> 
</html>

login.php

<?php 
global $login; 
if ($_POST['name']!="Victor" || $_POST['pwd']!="111111") 
{ 
    echo "登陆失败"; 
    echo "请<a href=index.htm>返回</a>"; 
    exit; 
} 
$login = array('name'=>$_POST['name'], 
'pwd'=>$_POST['pwd']); 
session_start(); 
session_register(login); 
echo "<a href=info.php>查看信息</a><br/>"; 
echo "<a href=logout.php>退出登陆</a><br/>"; 
?>

info.php

<?php 
session_start(); 
if (session_is_registered(login)) 
{ 
    global $login; 
    echo "hello,".$login['name']."<br/>"; 
    echo "<a href=logout.php>退出登陆</a><br/>"; 
} 
else 
{ 
    echo "非法操作<br/>"; 
    exit; 
} 
?>

logout.php

<?php 
session_start(); 
session_unregister(login); 
header("location:index.htm"); 
?>

 

转载于:https://my.oschina.net/u/3725872/blog/1602445

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值