PHP实现⽤session来实现记录⽤户登陆信息
PHP中session实现记录⽤户登录信息的问题,也是PHP⾯试题中⽐较常见的考点之⼀,是PHP学习者必须掌握的⼀个知识点。
对于初⼊门的PHP新⼿来说,或许有⼀定的难度。那么在之前的⽂章【PHP中session如何存储及删除变量的】中,也为⼤家介绍了PHP中session的基础含义,需要的朋友可以选择参考。
下⾯我们就通过具体的代码⽰例,为⼤家详细的介绍PHP中session实现记录⽤户登录信息的具体⽅法。
1.简单的登录界⾯代码⽰例:
login.html
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>登录</title>
<style type="text/css">
body {
background: url(images/bg.png);
}
.clear {
clear: both;
}
.login {
width: 370px;
margin: 100px auto 0px;
text-align: center;
}
input[type="text"] {
width: 360px;
height: 50px;
border: none;
background: #fff;
border-radius: 10px;
margin: 5px auto;
padding-left: 10px;
color: #745A74;
font-size: 15px;
}
input[type="checkbox"] {
float: left;
margin: 5px 0px 0px;
}
span {
float: left;
}
.botton {
width: 130px;
height: 40px;用户登录界面设计代码html
background: #745A74;
border-radius: 10px;
text-align: center;
color: #fff;
margin-top: 30px;
line-height: 40px;
}
</style>
</head>
<body>
<div class="login">
<form action="check.php" method="post">
<img src="images/header.png"><br>
<input type="text" name="username" placeholder="请输⼊⽤户名!" value=""><br>
<input type="text" name="password" placeholder="请输⼊密码!" value=""><br>
<input type="submit" class="botton" value="login">
</form>
<div class="clear"></div>
</div>
</body>
</html>
2.简单的⽤于连接数据库的PHP⽂件代码⽰例:
db.php
<?php
$dbName = 'demo';
$host = '127.0.0.1';
$user = 'root';
$password = 'root';
$dsn = "mysql:host=$host;dbname=$dbName";
$pdo = new PDO($dsn, $user, $password);
function sql($table, $field = '*', $where = '')
{
global $pdo;
$sql = 'select' . ' ' . $field . ' ' . 'from' . ' ' . $table . ' where ' . $where;
$data = $pdo->query($sql)->fetch();
return $data;
}
这⾥我们定义了⼀个sql⽅法⽤来查询数据库表中字段,并返回数据。
那么如果有新⼿不清楚PHP连接数据库的⽅法,可以参考学习这篇⽂章【PHP怎么连接Mysql数据库】。
3.检验⽤户登录信息的代码⽰例:
check.php
<?php
session_start();
include "db.php";
@$name = $_POST['username'];
@$pas = $_POST['password'];
$row = sql('user', '*', "username = '$name'");
if (!$row) {
return "⽤户名不存在!请检查⽤户名~~";
}
if ($row['password'] == $pas) {
$_SESSION['username'] = "$name";
echo "<script>
alert('登录成功!正在跳转...')
</script>";
echo "<a href='index.php'>如果跳转失败请点击跳转~~</a>";
header("Refresh:1;url=index.php");
}
这⾥我们要开启session,并⽤include引⼊数据库,然后⽤if语句判断查询提交过来的数据并将⽤户名提交给session来记录,即判断⽤户名密码是否存在及是否相等。
4.登录成功后跳转的页⾯代码⽰例:
index.php
<?php
echo "<h1>这⾥是主页</h1>";
session_start();
$name = $_SESSION['username'];
if ($name) {
echo "<script>
alert(\"尊敬的$name ,欢迎回来!!\");
</script>";
}else{
echo "<script>
alert('您还尚未登录!请返回登录~~')
</script>";
echo "<a href='index.php'>如果跳转失败请点击跳转~~</a>";
header("Refresh:1;url=login.html");
}
那么上述代码login.html,db.php,check.php和index.php就是⼀个简单的⽤session来实现记录⽤户登录信息的程序。
我们可以通过浏览器访问进⾏测试,⾸先我们可以在login登录界⾯,输⼊⽤户名密码,效果如下图:
点击login登录,跳转到check.php。
点击确定
如果跳转失败就点击上图中链接,如果跳转成功,则直接跳转到index.php主页⾯,显⽰如下图:
本篇⽂章就是关于PHP中session来实现记录⽤户登录信息的具体⽅法介绍,具有⼀定的参考价值,希望对需要的朋友有所帮助!
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论