php登入
❶ php来实现网站的注册和登录
说明: 对于小白学习php还是先下一个phpstudy吧 比较便捷许多且自带mysql
1、打开phpstudy并启动
2、打开mysql管理器并启动MYSQL-front 如图所示
1、建立一个名为register的html文件
2、建立一个名为registApi的php文件并刚建立的html相连
-拿到用户的字段和密码
-查询是否有重名现象(注:可以在php中嵌入html语句但一般写在外面如该图末尾所示)
-根据返回值判断是否成功
1、返回登录页面
2、创建一个名为loginApi的php文件并与刚刚的html相连接
3、若用户登录成功返回一个成功的界面所以创建一个success的html
❷ PHP做一个用户登录页面
index.html登录页面代码如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>登录示例</title>
</head>
<body>
<form id="forms" name="forms" method="post" action="loginchk.php">
用户名:<input type="text" id="uname" name="uname" value=""/><br/>
密码:<input type="password" id="upass" name="upass" value=""/><br/>
<input type="submit" id="loginbtn" value="立即登录"/>
<input type="reset" id="resetbtn" value="重新填写"/>
</form>
</body>
</html>
loginchk.php 的PHP程序代码如下:
<?php
$uname=trim($_REQUEST["uname"]);
$upass=trim($_REQUEST["upass"]);
if($uname=="admin"&&$upass=="admin")
{
echo "登录成功";
}
else
{
echo "登录失败,<a href='index.html'>重新登录</a>";
}
?>
以上只是一个简单示例,真正的开始,需要考到很多因素,比如说登录前有效性检查,加入登录验证码,程序需要连接数据库进行用户匹配等。
希望对你有帮助 。
如果使用数据库进行进行匹配的话,PHP程序可以这样改进一下。
<?php
$uname=trim($_REQUEST["uname"]);
$upass=trim($_REQUEST["upass"]);
$con = mysql_connect("localhost","root","root");
mysql_select_db("dbname", $con);
$result = mysql_query("select * from sers where uname='$uname' and upass='$upass'");
$rs = mysql_fetch_array($result);
if($rs)
{
echo "登录成功";
}
else
{
echo "登录失败,<a href='index.html'>重新登录</a>";
}
?>
不过你需要连接到你自己的指定的数据库和数据表。
❸ PHP如何实现注册和登录
注册页面前面加个下拉框或者单选按钮,然后把值传过去,登录的时候也选择,传值,然后在相应的分类查找这个人。注册页面前面加个下拉框或者单选按钮,然后把值传过去,登录的时候也选择,传值,然后在相应的分类查找这个人。
❹ php登录系统怎么做
简单地说,登录系统,就是用php程序获取等表单数据,并记录相关数据进入数据库,设置相关数据写入session,记录登录状态后,进入登陆后界面就可以了
当然还需要很多细节的知识,需要仔细了解了,可以从网上下载一个简单登录系统,研究研究吧!
❺ 详解PHP如何实现单点登录
可以配合session和数据库(或缓存如redis或memcache)实现,具体步骤如下:
在登录成功后保存一个时间戳+随机字符的值,这个值暂时叫sign。把这个值存入数据库(缓存),同时也存入session中。
写一个函数,功能如下:读取数据库(缓存)中的sign,跟session中的sign对比。如不一致,则注销当前session并提示:当前用户已在其他地方登录,你被顶下线。这个函数放到“钩子”里面,实现在每一个操作步骤之前都先调用此函数。
这样,一个简单的单点登录功能就实现了。原理其实很简单,就是每次登录都把数据库(缓存)里面的sign都覆盖一遍,这样当之前登录的人检测到这个sign不一致以后就强制下线。
❻ 请教用PHP实现自动登录问题
1、在登录页面中添加一个复选框,让用户选择是否愿意在一定时间内实现自动登陆,例如两周。
代码:
<input type="checkbox" name="autologin">两周内自动登录
2、在负责处理登录过程的Servlet中,判断用户是否选择了该复选框。如果是,则执行这两个操作:向用户发送两个Cookie,以及向数据库写入一条相应的记录。
代码:
Cookie ckUsername, ckSessionid;
if (autologin.equals("on")) {
// 如果用户选择了“两周内自动登录”,则向用户发送两个cookie。
// 一个cookie记录用户名,另一个记录唯一的验证码,
// 并将此验证码写入数据库,以备用户返回时查询。(防止伪造cookie)
ckUsername = new Cookie("autoLoginUser", user.getUsername()); // user是代表用户的bean
ckUsername.setMaxAge(60 * 60 * 24 * 14); //设置Cookie有效期为14天
res.addCookie(ckUsername);
sessionid = session.getId(); // 取得当前的session id
ckSessionid = new Cookie("sessionid", sessionid);
ckSessionid.setMaxAge(60 * 60 * 24 * 14);
res.addCookie(ckSessionid);
// 在数据库中插入相应记录
userSessionDAO.insertUserSession(user, sessionid);
}
3、实现自动登录。因为用户下次访问的时候,可能直接访问网站的任何页面(例如通过收藏夹),而不一定是首页或者登录页面,所以我们需要用Filter拦截到达该网站的所有请求,并执行自动登录。
public void doFilter(ServletRequest req, ServletResponse resp, FilterChain chain) throws ServletException, IOException {
HttpServletRequest request = (HttpServletRequest) req;
HttpSession session = request.getSession(true);
String username;
String sessionid; // 此sessionid是上次用户登录时保存于用户端的识别码,用于用户后续访问的自动登录。不是本次访问的session id。
Cookie[] cookies;
CookieManager cm = new CookieManager(); // CookieManager是一个自定义的类,用于从Cookie数组中查找并返回指定名称的Cookie值。
boolean isAutoLogin;
// 如果session中没有user对象,则创建一个。
User user = (User) session.getAttribute("user");
if (user == null) {
user = new User(); // 此时user中的username属性为"",表示用户未登录。
}
// 如果user对象的username为"",表示用户未登录。则执行自动登录过程。
// 否则不自动登录。
if (user.getUsername().equals("")) {
// 检查用户浏览器是否发送了上次登录的用户名和sessionid,
// 如果是,则为用户自动登陆。
cookies = request.getCookies();
username = cm.getCookieValue(cookies, "autoLoginUser");
sessionid = cm.getCookieValue(cookies, "sessionid");
isAutoLogin = userSessionDAO.getAutoLoginState(username, sessionid); // 如果在数据库中找到了相应记录,则说明可以自动登录。
if (isAutoLogin) {
user.setUsername(username);
user.setNickname(DBUtil.getNickName(username));
session.setAttribute("user", user); // 将user bean添加到session中。
}
}
chain.doFilter(req, resp);
}
❼ php登录页面完整代码连接数据库
创建conn.php,连接数据库。
$dns = 'mysql:host=127.0.0.1;dbname=test';
$username = 'root';
$password = 'root';
// 1.连接数据库,创建PDO对象
$pdo = new PDO($dns,$username,$password);
创建login.html,登陆页面。
用户名
密 码
创建login.php,验证账号密码。
header("Content-Type: text/html; charset=utf8");
if(!isset($_POST["submit"])){
exit("错误执行");
}//检测是否有submit操作
include('conn.php');//链接数据库
$name = $_POST['name'];//post获得用户名表单值
$pwd = sha1($_POST['password']);//post获得用户密码单值
if ($name && $pwd){//如果用户名和密码都不为空
$sql = "select * from user where username = '$name' and password='$pwd'";//检测数据库是否有对应的username和password的sql
$stmt = $pdo->prepare($sql);
$stmt->execute();
if($stmt->fetch(PDO::FETCH_BOUND)){//0 false 1 true
header("refresh:0;url=welcome.html");//如果成功跳转至welcome.html页面
exit;
}else{
echo "用户名或密码错误";
echo "
setTimeout(function(){window.location.href='login.html';},1000);
";//如果错误使用js 1秒后跳转到登录页面重试;
}
}else{//如果用户名或密码有空
echo "表单填写不完整";
echo "
setTimeout(function(){window.location.href='login.html';},1000);
";
//如果错误使用js 1秒后跳转到登录页面重试;
}
$pdo = null;
创建signup.html,注册页面
用户名:
密 码:
创建signup.php
header("Content-Type: text/html; charset=utf8");
if(!isset($_POST['submit'])){
exit("错误执行");
}//判断是否有submit操作
$name=$_POST['name'];//post获取表单里的name
$pwd = sha1($_POST['password']);//post获取表单里的password
include('conn.php');//链接数据库
$sql="insert into user(id,username,password) values (null,'$name','$pwd')";//向数据库插入表单传来的值的sql
$stmt = $pdo->prepare($sql);
$stmt->execute();
$stmt->fetch(PDO::FETCH_BOUND);
if (!$stmt){
die('Error: ' . $stmt->getMessage());//如果sql执行失败输出错误
}else{
echo "注册成功";//成功输出注册成功
}
$pdo = null;//关闭数据库
❽ 如何用php做个登陆界面
你可以做一个简单的例如你只衫搜有用户名和密码即可那么你先在数据库(以mysql为例)中建表例如叫做user 字段为 id name pass分别是编或念历号、用户名、密码长度分别是int(8) a_t(自动编号) 主键,varchar(50) ,varchar(50) 你可以添加一个测试数据 例如 1,admin,admin//说明密码这里不说加密的问题,用明文实现 登录页面的代码:login.php
❾ php简单的登陆验证用户名和密码怎么写
给你个实例参考一下php编写登陆验证用户名和密码吧。
登录页面
login.html 负责收集用户填写的登录信息
在CODE上查看代码片派生到我的代码片
<html>
<head>用户登录</head>
<form name="LoginForm" method="post" action="login.php" onSubmit="return InputCheck(this)">
<p>
<label for="username" class="label">用户名:</label>
<input id="username" name="username" type="text" class="input" />
<p/>
<p>
<label for="password" class="label">密 码:</label>
<input id="password" name="password" type="password" class="input" />
<p/>
<p>
<input type="submit" name="submit" value=" 确 定 " class="left" />
</p>
</form>
</html>
登录处理
login.PHP 负责处理用户登录与退出动作。
在CODE上查看代码片派生到我的代码片
<?php
//登录
if(!isset($_POST['submit'])){
exit('非法访问!');
}
$username = htmlspecialchars($_POST['username']);
$password = MD5($_POST['password']);
//包含数据库连接文件
include('conn.php');
//检测用户名及密码是否正确
$check_query = mysql_query("select userid from user_list where username='$username' and password='$password' limit 1");
if($result = mysql_fetch_array($check_query)){
//登录成功
session_start();
$_SESSION['username'] = $username;
$_SESSION['userid'] = $result['userid'];
echo $username,' 欢迎你!进入 <a href="my.php">用户中心</a><br />';
echo '点击此处 <a href="login.php?action=logout">注销</a> 登录!<br />';
exit;
} else {
exit('登录失败!点击此处 <a href="javascript:history.back(-1);">返回</a> 重试');
}
//注销登录
if($_GET['action'] == "logout"){
unset($_SESSION['userid']);
unset($_SESSION['username']);
echo '注销登录成功!点击此处 <a href="login.html">登录</a>';
exit;
}
?>
用户中心
my.php 是用户中心,作为用户登录检测。
在CODE上查看代码片派生到我的代码片
<?php
session_start();
//检测是否登录,若没登录则转向登录界面
if(!isset($_SESSION['userid'])){
header("Location:login.html");
exit();
}
//包含数据库连接文件
include('conn.php');
$userid = $_SESSION['userid'];
$username = $_SESSION['username'];
$user_query = mysql_query("select * from user_list where userid = '$userid' limit 1");
$row = mysql_fetch_array($user_query);
echo '用户信息:<br />';
echo '用户ID:',$userid,'<br />';
echo '用户名:',$username,'<br />';
echo '<a href="login.php?action=logout">注销</a> 登录<br />';
?>
conn.php,用于连接数据库
在CODE上查看代码片派生到我的代码片
<?php
$conn = mysql_connect("127.0.0.1","root","") or die("数据库链接错误".mysql_error());
mysql_select_db("info_db",$conn) or die("数据库访问错误".mysql_error());
mysql_query("set names gb2312");
?>
❿ php 怎么实现单点登录
单点登录(Single Sign On),简称为 SSO,是目前比较流行的企业业务整合的解决方案之一。SSO的定义是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。(网络)
我本人认为单点登录主要解决一下问题:
1. 一个用户账号,多站点通用;
2. 一个应用登录,其他应用同时登录;
3. 一个账号退出,其他应用账号同时退出;(非必须,此项不在单点登录的讨论范围之内,不过WEB单点登录,用到的还是挺多的);
4. 欢迎补充
PHP实现单点登录方法有多种:
1. 通过关系服务 如webservice 之类的;
2. 数据库共享session实现;
4. P3P跨站点 如ucenter phpcms 等;
5. 通过文件操作 SESSIONID
6. 欢迎补充