十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
你可以做一个简单的例如你只有用户名和密码即可那么你先在数据库(以mysql为例)中建表例如叫做user 字段为 id name pass分别是编号、用户名、密码长度分别是int(8) a_t(自动编号) 主键,varchar(50) ,varchar(50) 你可以添加一个测试数据 例如 1,admin,admin//说明密码这里不说加密的问题,用明文实现 登录页面的代码:login.php用户登录
创新互联公司主要业务有网站营销策划、网站设计、成都网站建设、微信公众号开发、小程序开发、H5页面制作、程序开发等业务。一次合作终身朋友,是我们奉行的宗旨;我们不仅仅把客户当客户,还把客户视为我们的合作伙伴,在开展业务的过程中,公司还积累了丰富的行业经验、营销型网站建设资源和合作伙伴关系资源,并逐渐建立起规范的客户服务和保障体系。
用户名:
密 码:
checklogin.php代码(检测登录): $name=$_POST[name];$pass=$_POST[password];session_start();//这个可以维持登录状态,可以参照session的使用\x0d\x0a//登录检查函数 function login_state($uid,$user_shell){ $sql="SELECT * FROM `user` WHERE `name`='$name'";\x0d\x0a $query=@mysql_query($sql) or die(mysql_error());\x0d\x0a $us=is_array($row=@mysql_fetch_array($query));\x0d\x0a $user_shell=$us ? $user_shell==$row[password]:FALSE;\x0d\x0a if($user_shell){ echo "alert('登录成功');";\x0d\x0a return $row;\x0d\x0a }else{\x0d\x0a echo "alert('您暂时不能浏览该页面,请先登录');location.href='login.php';";\x0d\x0a } }login_state($name,$password);?>\x0d\x0a希望可以帮到您,如果还有问题可以联系2458285853
创建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
//注册页
$username = $_POST['username'];
$password = $_POST['password'];
$password1 = $_POST['password1'];
$email = $_POST['mail'];
//判断用户名
if(empty($username)){
exit('用户名不能为空');
}
//判断密码
if(empty($password)){
exit('密码不能为空');
}
if($password == $password1){
}else{
exit('两次密码不相等');
}
//判断邮箱格式
$yx = '/^([a-z0-9_\.-]+)@([\da-z\.-]+)\.([a-z\.]{2,6})$/';
if(preg_match($yx,$email)){
}else{
exit('邮箱格式错误');
}
//连接数据库
$link = mysqli_connect('localhost','root','') or die('失败');
//设置字符集,选择数据库表;
mysqli_select_db($link,"test")or die('选择数据表失败');
mysqli_set_charset($link,'utf8')or die('设置字符集失败');
//写入注册表
$reg = "insert into user(name,password) value('$username',md5('$password'))";
$reg1 = "insert into userdetail(name,emali,nickname) value('{$username}','{$email}','{$username}')";
//释放结果集;
//提交sql语句
$result1 = mysqli_query($link,$reg1);
$result = mysqli_query($link,$reg);
if(mysqli_affected_rows($link)){
if(mysqli_affected_rows($link) 0){
mysqli_close($link);
die('用户添加成功!');
}else{
mysqli_close($link);
die('用户名重复,请修改后重新添加');
}
}else{
mysqli_close($link);
die('用户添加失败,请重新添加');
}
//关闭退出
mysqli_close($link) or exit('no');
这是那过程 写的 ,
SESSION的变量是存于服务端的,cookie与SESSION相关联,SESSION需要从COOKIE传来的会话标识,不同用户的数据就存于各自的session变量中。
在页面未输出前:
@session_start();
登录后从库中获取到信息,存入SESSION各变量中,然后在任何一个页面取得此变量。
$_SESSION["yourname"]=mysql_result($res,0,"name");
到另一个页取得此变量,如果没有取得合法数据,则没有登录
$yourname=$_SESSION["yourname"];
注意SESSION是个全局变量,所以不同页面可以调用。
当用户关闭了浏览器重新登录时,都会产生一个新的会话标识。如果没有关闭浏览器,无论打开多个页面,始终都是同一个会话标识。
在服务器端取得用户数据时,服务器首先会比对这个会话识标是否存在,存在才会取得原先保存的数据,否则就取不到。
这个道理就如同超市寄存件一样
如果你要的只是界面,那么我给你一个好的建议。
你可以去Bootstrap官网这个里面去找你想要的组件。
做出很炫的登录界面。
并且提供源代码。
凡事多动手,不要只会照搬。
我给你源代码你也不会做。
所以,你还是多去看看如何写。
如果,你要的是源码,那么你也可以去thinkphp官网去看看。有很多很不错的代码。值得学习。登录界面其实很简单,说白了,就是表单提交。
form name="form1" method="post" action="login.php"
input type="text" name="user"
input type="password" name="pass"
button type="submit"login/button
/form
//login.php
$u = $_POST['user'];
$p = $_POST['pass'];
$c = new mysqli('localhost', 'root', 'db_pass', 'db_name');
$c - query('set names utf8');// or gbk
$s = $c - query("select * from table_name where user = '{$u}' limit 1");
!$s - num_rows die('user eror');
$r = $s - fetch_assoc();
$p != $r['password'] die('pass error');
echo 'login ok';