php开发实例---用户登陆模块的实现(用户权限的控制、验证码的生成)

合集下载

php实现用户登陆简单实例

php实现用户登陆简单实例

php实现用户登陆简单实例php实现用户登陆简单实例最近学习中要使用PHP+MySql实现简单登录注册,看了很多简单案例后发现,并没有人通过PDO实现简单登录注册,要么就是Mysql和MySqli实现,就算实现了意义也不大,js就可以做的事情,没必要放到PHP中去,我却偏偏不相信,保留着一股倔劲,简单的实现了登录注册,下面是店铺为大家整理的php实现用户登陆简单实例,欢迎阅读与收藏。

php实现用户登陆简单实例前言:最近要完成的最后一个部分,就是对用户提交的数据进行管理,至于管理,那肯定就是管理员的事了,那一定涉及登陆,验证账号权限,账号是否过期等等问题。

所需知识session,确实是很重要的东西。

并且我遇到session不能跨页,修改PHP.ini的e_trans_sid = 0值为1。

具体实现我的后台设计的比较简单,只需输入一个密码即可,这个密码当然是保存在服务器可以更改的啦。

所以只需要给session添加两个变量,flag、time。

首先,用flag来确定管理员是否成功登陆,用time确定登陆是否超时。

提交密码后,如果正确会给flag赋值为1,time赋值为当前时间。

每次进入新的'页面或进行操作时会对这两个变量进行判断,首先判断flag值是否为1,不唯一直接提示未登陆,销毁session,如果为1,再判断当前时间-$_SESSION(‘time')是否小于600(10分钟),若大于,提示登陆超时,销毁session;若小于,允许操作,并更新time变量值为当前值。

部分代码check_pw.php$_SESSION['flag'] = 0;$myfile = fopen("passwd","r") or die("Unable to open file!"); $passwd = fgets($myfile);if(empty($_POST['pass'])){echo "不能为空,重新输入";$page = "login.html";}else{$pass = $_POST['pass'];$passwd = test_input($passwd);$pass = test_input($pass);if($pass == $passwd){echo "口令正确,允许访问";$page = "list_all.php";$_SESSION['flag'] = 1;$_SESSION['time'] = time(); //当前秒数}else{echo "口令错误,重新输入";$page = "login.html";}}function test_input($date){$date = trim($date);$date = stripcslashes($date);$date = htmlspecialchars($date);return $date;}点此跳转list_all.php(部分)if($_SESSION['flag'] == 1){if(time() - $_SESSION['time'] > 600){echo "登陆超时";echo '点此登陆';session_destroy();exit();}else{$_SESSION['time'] = time();}}else{echo "未登陆,无权访问!";echo '点此登陆';session_destroy();exit();}HTML代码(login.html):用户登录用户名:密码:7天内自动登录login.PHP:(登陆处理页)<?PHPheader('Content-type:text/html; charset=utf-8'); // 开启Sessionsession_start();// 处理用户登录信息if (isset($_POST['login'])) {# 接收用户的登录信息$username = trim($_POST['username']);$password = trim($_POST['password']);// 判断提交的登录信息if (($username == '') || ($password == '')) {// 若为空,视为未填写,提示错误,并3秒后返回登录界面header('refresh:3; url=login.html');echo "用户名或密码不能为空,系统将在3秒后跳转到登录界面,请重新填写登录信息!";exit;} elseif (($username != 'username') || ($password != 'password')) {# 用户名或密码错误,同空的处理方式header('refresh:3; url=login.html');echo "用户名或密码错误,系统将在3秒后跳转到登录界面,请重新填写登录信息!";exit;} elseif (($username = 'username') && ($password = 'password')) {# 用户名和密码都正确,将用户信息存到Session中$_SESSION['username'] = $username;$_SESSION['islogin'] = 1;// 若勾选7天内自动登录,则将其保存到Cookie并设置保留7天if ($_POST['remember'] == "yes") {setcookie('username', $username, time()+7*24*60*60);setcookie('code', md5($username.md5($password)), time()+7*24*60*60);} else {// 没有勾选则删除Cookiesetcookie('username', '', time()-999);setcookie('code', '', time()-999);}// 处理完附加项后跳转到登录成功的首页header('location:index.PHP');}}>index.PHP(默认主页):<?PHPheader('Content-type:text/html; charset=utf-8');// 开启Sessionsession_start();// 首先判断Cookie是否有记住了用户信息if (isset($_COOKIE['username'])) {# 若记住了用户信息,则直接传给Session$_SESSION['username'] = $_COOKIE['username'];$_SESSION['islogin'] = 1;}if (isset($_SESSION['islogin'])) {// 若已经登录echo "你好! ".$_SESSION['username'].' ,欢迎来到个人中心! ';echo "注销";} else {// 若没有登录echo "您还没有登录,请登录";}>logout.PHP注销页<?PHPheader('Content-type:text/html; charset=utf-8');// 注销后的操作session_start();// 清除Session$username = $_SESSION['username']; //用于后面的提示信息$_SESSION = array();session_destroy();// 清除Cookiesetcookie('username', '', time()-99);setcookie('code', '', time()-99);// 提示信息echo "欢迎下次光临, ".$username.'';echo "重新登录";。

php登录注册模板

php登录注册模板

竭诚为您提供优质文档/双击可除php登录注册模板篇一:php用户登录验证模块7实现用户登录>>>1创建登录表单登录表单的html代码如下:userlogin.alert{color:red}.textinput{width:160px}.btn{width:80px}table{border:3pxdouble;background-color:#eeeeee;} -->functiondocheck(){if(ername.value==""){ alert(请输入你的用户名!);returnfalse;}if(document.frmlogin.password.value==""){ alert(请输入你的密码!);returnfalse;}}-->用户名:密码:将以上代码保存为login.php文件并在浏览器中运行,显示页面中的登录表单如图2-16所示。

显示页面的登录表单>>>2验证登录名和密码用户在登录表单中输入登录信息之后,数据被提交回本页面login.php进行处理,下面在login.php的头部添加验证用户名和密码是否正确的代码。

login.php代码更改如下:require_once(common.php);//引入公共文件,其中实现了sql注入漏洞检查的代码$username=trim($_post[username]);//取得客户端提交的密码并用md5()函数时行加密转换以便后面的验证$pwd=md5($_post[pwd]);//设置一个错误消息变量,以便判断是否有错误发生//以及在客户端显示错误消息。

其初值为空$errmsg=;if(!empty($username)){//用户填写了数据才执行数据库操作//---------------------------------------------------------//数据验证,empty()函数判断变量内容是否为空if(empty($username)){$errmsg=数据输入不完整;}//---------------------------------------------------------if(empty($errmsg)){//$errmsg为空说明前面的验证通过//调用mysqli的构造函数建立连接,同时选择使用数据库test$db=@newmysqli("127.0.0.1","developer","123456","te st");//检查数据库连接if(mysqli_connect_errno()){$errmsg="数据库连接失败!\n";}else{//查询数据库,看用户名及密码是否正确$sql="select*FRomt_userwheRef_username=$usernameand f_password=$pwd";$rs=$db->query($sql);//$rs->num_rows判断上面的执行结果是否含有记录,有记录说明登录成功if($rs}else{$errmsg="用户名或密码不正确,登录失败!";}//关闭数据库连接$db->close();}}}userlogin.alert{color:red}.textinput{width:160px}.btn{width:80px}table{border:3pxdouble;background-color:#eeeeee;} -->functiondocheck(){if(ername.value==""){alert(请输入你的用户名!);returnfalse;}if(document.frmlogin.password.value==""){alert(请输入你的密码!);returnfalse;}-->用户名:"/>密码:以粗体显示部分是新添的代码,大部分语句都已有详细注释。

Php用户注册与登录模块案例

Php用户注册与登录模块案例

需求分析主要功能分为用户注册、用户登录、用户退出、用户中心四个部分。

用户注册用户注册主要功能有:1.注册信息表单填写界面javascript 脚本初步检测用户输入的注册信息。

2.注册处理模块检测注册信息是否符合要求。

3.检测用户名是否已存在。

4.将注册信息写入数据表,注册成功。

用户登录用户登录主要功能有:1.登录表单界面javascript 脚本初步检测用户输入的登录信息。

2.登录模块将用户输入信息与数据库数据进行核对。

3.登录信息正确,则提示登录成功,将用户设置为登录状态(session)。

4.登录信息不正确,则提示登录失败,用户可以再次尝试登录。

用户退出用户退出主要功能有:1.无条件注销session 。

用户中心用户退出主要功能有:1.判断用户是否登录,如果没有登录,则转向到登录界面。

2.如果登录是登录状态,则读出用户相关信息。

数据表设计根据功能需求分析,用于记用户信息的user 表需要的字段如下:建表SQL 参考如下:页面布局各页面功能如下:•reg.html:用户注册信息填写表单页面•conn.php:数据库连接包含文件•reg.php:用户注册处理程序•login.html:用户登录表单页面•login.php:用户登录表单页面•my.php:用户中心用户注册:注册页面reg.html 负责收集用户填写的注册信息。

教程里只列出关键的代码片段,完整的代码附在本节最后。

注册表单javascript 检测代码CSS 样式注册表单效果图:小提示:淘宝购物返利请上先淘返利网:,最高可返48%,1元提现,24小时到账!数据库连接注册处理reg.php 负责处理用户注册信息。

注册检测本段代码首先检测是否POST 提交访问该页,接下来根据注册要求(用户名3-15 字符长度,支持汉字、字母、数字及_;密码不得少于6 位)对用户提交的注册信息进行检测。

在检测用户名和电子邮箱时采用了正则检测,关于正则表达式更所信息请参看《PHP 正则表达式》。

用PHP制作登录页面程序

用PHP制作登录页面程序

<?php//这个脚本是用来给用户输入口令,并判断口令是否正确的。

//如果正确则转到欢迎页面。

if ($login){include("../include/config.inc.php3");session_start();$right_enter='0';$query="select * from user_define where user_login='$user_login' and user_pass=password('$user_pass')";$result=@mysql_query($query,$dbconnect);if ($user_array=@mysql_fetch_array($result)){$user_id=$user_array[user_id];$user_name=$user_array[user_info];session_register("user_id");session_register("user_name");session_register("user_array");if(($user_array[ticket_day]) and ($user_array[ticket_num])){$right_enter='1';}else{$error_message="对不起,您没有订票的权限!";}}else{$error_message="错误!用户名错,或口令错。

请重新输入。

";}$log_time=date("Y-m-d H:i:s");$query="insert into log_record (log_time,user_login,remote_addr,right_enter,enter_function) values ('$log_time','$user_login','$REMOTE_ADDR','$right_enter','1')";@mysql_query($query,$dbconnect);if($right_enter){Header("Location: welcome_reserve.php3");exit;}}if($logout){session_start();session_unregister("user_id");session_unregister("user_name");session_unregister("user_array");}?><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html><head><title>用户登录</title><meta http-equiv="Content-Type" content="text/html; charset=gb2312"><link rel="stylesheet" type="text/css" href="../include/njz_common.css"></head><body><p> </p><form name="form1" method="post" action="<?php echo $PHP_SELF; ?>" ><table width="289" border="1" cellspacing="0" cellpadding="1" bordercolor="#999999" align="center"><tr bgcolor="#999999"><td><div align="center"><font color="#FFFFFF" size="4">用户登录</font></div></td></tr><tr><td><table width="267" border="0" cellspacing="0" cellpadding="5" align="center"><tr><td width="94"><div align="right">用户:</div></td><td width="169"><input type="text" name="user_login" size="16" maxlength="16" value="<?php echo $user_login; ?>"></td></tr><tr><td width="94"><div align="right">口令:</div></td><td width="169"><input type="password" name="user_pass" size="16" maxlength="16"></td></tr><tr><td colspan="2"><div align="center"><input type="submit" name="login" value=" 登录"><input type="button" name="return_index" value="返回首页" onClick="form1.action='../include/goto_page.php3?dist_page=../main.php3';form1.submit();return ;"></div></td></tr></table></td></tr></table></form><?phpif($error_message) echo "<center><font color='#ff0000'>$error_message</font></center>"; ?><SCRIPT language="JavaScript">er_login.focus();</SCRIPT><p> </p><?php include("../footer.php3"); ?></body></html>。

简单的一个php验证登陆代码

简单的一个php验证登陆代码

简单的⼀个php验证登陆代码<?php/***/if (!isset($_SERVER['PHP_AUTH_USER'])|| !isset($_SERVER['PHP_AUTH_PW'])|| $_SERVER['PHP_AUTH_USER'] != 'qiku'|| $_SERVER['PHP_AUTH_PW'] != '4rfvXSW@$#@') {header('WWW-Authenticate: Basic realm="Login"');header('HTTP/1.0 401 Unauthorized');echo <<<EOB<html><title>Error Login</title><body><h1>Rejected!</h1><big>Wrong Username or Password!</big></body></html>EOB;exit();}>------------------------------------------------------------------------------------------------------php Header PHP_AUTH_USER PHP_AUTH_PW ⽤户验证在php中,可以使⽤Header函数做⼀些有趣的事情,⽤户验证就是其中⼀个很有意思的功能。

具体⽤法:Header("WWW-Authenticate: Basic realm="USER LOGIN"");Header("HTTP/1.0 401 Unauthorized");在页⾸设计这两个Header函数,页⾯在载⼊前会出现⼀个登录框,要求输⼊⽤户名和密码。

PHP登录验证功能示例【用户名、密码、验证码、数据库、已登陆验证、自动登录和注销登录等】

PHP登录验证功能示例【用户名、密码、验证码、数据库、已登陆验证、自动登录和注销登录等】

PHP登录验证功能⽰例【⽤户名、密码、验证码、数据库、已登陆验证、⾃动登录和注销登录等】本⽂实例讲述了PHP登录验证功能。

分享给⼤家供⼤家参考,具体如下:登录界⾯具体实现⽅法如下:login.html<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><title>Title</title></head><body><form method="post" action="doLogin.php"><input type="text" placeholder="⽤户名" name="username"><br><br><input type="password" placeholder="密码" name="password"><br><br><input type="text" placeholder="验证码" name="verifycode" class="captcha"><br><br><img id="captcha_img" src="captcha.php?r=<?php echo rand();?>" alt="验证码"><label><a href="javascript:void(0)" rel="external nofollow" onclick="document.getElementById('captcha_img').src='captcha.php?r='+Math.random()">换⼀个</a> </label><br><label><input type="checkbox" name="autologin[]" value="1"/>⾃动登录</label><br><button type="submit">登录</button></form></body></html>doLogin.php<?phpheader("Content-type:text/html;charset=UTF-8");require "mysql.php"; //导⼊mysql.php访问数据库session_start(); //开启会话⼀获取到服务器端验证码$username=$_POST['username'];$password=$_POST['password'];$autologin=isset($_POST['autologin'])?1:0; //获取是否选择了⾃动登录$verifycode=$_POST['verifycode'];$code=$_SESSION['code']; //获取服务器⽣成的验证码/** ⾸先进⾏判空操作,通过后进⾏验证码验证,通过后再进⾏数据库验证。

php实现登陆模块功能示例

php实现登陆模块功能示例

php实现登陆模块功能⽰例本⽂实例讲述了php实现登陆模块功能的⽅法。

分享给⼤家供⼤家参考,具体如下:最近在学习php。

学了⼀点关于登陆的东西,写下来备忘。

新建四个页⾯,分别命名为:login.phpcheck.phpindex.phperror.phplogin页⾯⽤表单建⽴⼀个登陆页⾯,不多说了。

在代码⾥⽤js脚本判断⽤户名和密码不能为空,为空则重置焦点。

代码如下:<script type="text/JavaScript">function jc(){var userName=document.getElementById("userName");var userPwd=document.getElementById("userPwd");if(userName.value==""){alert("请输⼊⽤户名");userName.focus();return false;}if(userPwd.value==""){alert("请输⼊⽤户名");userPwd.focus();return false;}}</script>check是检查页⾯,如果密码和⽤户名正确则重定向到index.php,否则定向到错误页⾯。

代码如下:<? session_start();$userName=$_POST["userName"];$userPwd=$_POST["userPwd"];if($userName=="admin"&&$userPwd=="123456"){$_SESSION["userName"]=$userName;echo "<script type='text/javascript'>window.location='index.php';</script>";}else{echo"<script type='text/javascript'>window.location='error.php';</script>";}>最后说说session验证。

php实现用户登录

php实现用户登录

Index.php<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>用户登录</title></head><body onUnloa d=confirm("真的要退出页面,请单击确定。

")><table border="1" width="200px" height="100px"><form action="demo.php" method="POST"><tr><td width="130px">用户:<input type="text" name="username" size="8" onClick="verify()" onblur="verify()"></td><td><div id="id#_user" style=""></div></td></tr><tr><td width="130px">密码:<input type="password" size="8" name="pass" onClick="verify()"></td></tr><td colspan="2">&nbsp;&nbsp;<input type="submit" name="submit" value="提交"></td></tr></form></table></body></html>Demo.php<?phpsession_start();?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN""/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title></title></head><body><?phpheader("Content-Type:text/html;charset=UTF-8");//连接数据库mysql_connect("localhost","root","616816");mysql_select_db("user_dl");mysql_query("set names utf8");/**该文件的作用是接收用户输入的信息,进行查询,判断是否存在,如果存在则跳转到成功页面,如果错误,则给出错误提示。

PHP登录模块设计

PHP登录模块设计
登录模块设计
本讲大纲:
1、登录模块概述 2、登录模块技术分析 3、用户注册 4、用户登录 5、找回密码
支持网站:
登录模块概述
用户登录模块是会员功能的窗口。匿名用户虽然也可以访问 本网站,但只能进行浏览、查询等简单操作,而会员则可以购买商 品,并且能享受超低价格。登录模块包括用户注册、用户登录和找回 密码3部分,其运行结果如图所示。
(2)创建register.php动态PHP文件,加载模板。 (3)创建reg_chk.php文件,获取表单中提交的数据,将数据 存储到指定的数据表中。 (4)创建“用户注册”超链接。当用户单击前台的按钮时, 系统会调用js的onclick事件,弹出注册窗口。
用户登录
用户登录模块的运行结果如图所示,需要输入用户名、密码和验证码。
(1)创建模板文件login.tpl,完成用户登录表单的设计。在该 页面中当单击Submit按钮时,系统将调用lg()函数对用户登录提交信息进 行验证。lg()函数包含在js/login.js脚本文件内,
用户名和密码是在chkname.php页面中被验证。 (2)创建用户信息模板文件info.tpl。用户登录成功后,在原 登录框位置将显示用户信息,用户可以通过“会员中心”对自己的信息 做修改,也可以单击“查看购物车”超链接查看购物车商品;当用户离 开时可以单击“安全离开”超链接。
找回密码
登录模块的最后一个部分就是找回密码。找回密码是根据用 户在填写资料时所填写的密保问题和密保答案来实现的。当用户单击 “找回密码”超链接时,首先提示用户输入要找回密码的会员名称, 然后根据密保问题填写密保答案,最后重新输入密码。找回密码模块 的流程如图所示。
找回密码
1.创建模板文件 虽然找回密码需要4个步骤,但实际上每个步骤使用的都是相 同的模板文件和js文件,只是被调用的表单和js函数略有差别。这里根 据不同的文件来分别进行介绍。 2.创建js脚本文件 found.js 脚 本 文 件 包 含 3 个 函 数 : chkname() 、 chkanswer() 和 chkpwd()。其中,chkname()函数的作用是检查用户输入的会员名称, 如果存在,则使用xmlhttp对象去调用生成的url进行处理判断。如果该 用户存在,则隐藏当前表单,并显示下一个表单,最后输出密保 问题。 3.创建数据处理文件 foundpwd.php文件的功能是根据用户输入信息来检测数据表 中的数据,并根据不同的输入信息返回不同的结果。 4.加载模板页 因为所有登录模块的模板都不需要或者只需要传递一两个变 量,所以PHP加载页的内容比较简单。

PHP+MySQL网站开发技术项目式教程4-2用户登录和编辑功能的设计和实现

PHP+MySQL网站开发技术项目式教程4-2用户登录和编辑功能的设计和实现

…… 07 if(isset($_POST["uName"])){//用户名不为空 3 )改造原有注册、登录、错误信息显示等页面的顶部模块 if (isset($_SESSION["CURRENT_USER"])) {//已登录的情况 08 $curUser = findUser($_POST["uName"]);// 根据用户名查询用户信息 $current_user = $_SESSION[“CURRENT_USER”]; //获取登录用户 09 // 判断用户名和口令是否正确 4)登出功能的处理页面(doLogout.php) $user_name = $current_user["uName"];// 获取用户名 10 if(isset($curUser)&& $curUser["uPass"]== $_POST["uPass"]){ …… 11 require_once $_SESSION[“CURRENT_USER”] = $curUser;//保存登录用户 5 '../comm/comm.php'; //导入通用功能类 }else{ 12 session_destroy();// header("location: ../index.php");// 登录成功转入首页 6 清除掉 session 启动会话在数据操作类中调用 $headBuf.=<<<HTML_HEAD 13 header("location: return ; 7 ../index.php");//转入首页 您尚未 <a href="login.php">登录</a> &nbsp;| &nbsp; <A 14 }else{ 注册</A> | 15 href="reg.php"> $msg = "用户名或口令不正确 "; 16 HTML_HEAD; } } 17 }else{ 18 $msg = "用户名不能为空"; 19 }

PHP实现用户登录的案例代码

PHP实现用户登录的案例代码

PHP实现⽤户登录的案例代码本⽂讲述了PHP实现⽤户登录的案例代码。

分享给⼤家供⼤家参考,具体如下:需求分析:在Web应⽤开发中,经常需要实现⽤户登录的功能。

假设⼀个名为username的⽤户,当该⽤户进⼊⽹站⾸页时,如果还未登录,则页⾯会提⽰登录,⽤户输⼊登录信息进⾏验证,验证通过进⼊⽤户中⼼,否则显⽰⽤户名或密码错误,重新登录。

登录成功后,⽤户还可以单击“注销”,回到登录页⾯。

程序设计流程图:login.html<!DOCUMENT html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http:///TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="/1999/xhtml" xml:lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><title>会员登录</title><style type="text/css">ul li{margin:0;padding:0;}form{margin:40px 30px 0;}form li{list-style:none;padding:5px 0;}form li label{float:left;width:70px;text-align:right}form li a{font-size:12px;color:#999;text-decoration:none}.login_btn{border:none;background:#01A4F1;color:#fff;font-size:14px;font-weight:bold;height:28px;line-height:28px;padding:0 10px;cursor:pointer;}form li img{vertical-align:top}</style></head><body><form action="login.php" method="POST"><fieldset><legend>⽤户登录</legend><ul><li><label for"">⽤户名:</label><input type="text" name="username"/></li><li><label for"">密码:</label><input type="password" name="password"/></li><li><label for""> </label><input type="checkbox" name="remember" value="yes"/>7天内⾃动登录</li><li><label for""> </label><input type="submit" name="login" value="登录" class="login_btn"/></li></ul></fieldset></body></html>login.php<?phpheader("Content-Type:text/html;charset=utf-8");session_start();if(isset($_POST['login'])){$username = trim($_POST['username']);$password = trim($_POST['password']);if(($username=='')||($password=='')){header('refresh:3;url=login.html');echo "改⽤户名或密码不能为空,3秒后跳转到登录页⾯";exit;}else if(($username!='username')||($password!='password')){//⽤户名或密码错误header('refresh:3;url=login.html');echo "⽤户名或密码错误,3秒后跳转到登录页⾯";exit;}else if(($username=='username')&&($password=='password')){//登录成功将信息保存到session中$_SESSION['username']=$username;$_SESSION['islogin']=1;//如果勾选7天内⾃动保存,则将其保存到cookieif($_POST['remember']=="yes"){setcookie("username",$username,time()+7*24*60*60);setcookie("code",md5($username.md5($password)),time()+7*24*60*60); }else{setcookie("username",'',time()-1);setcookie("code",'',time()-1);}//跳转到⽤户⾸页header('refresh:3;url=index.php');}}>index.php<?phpheader("Content-Type:text/html;charset=utf-8");session_start();//⾸先判断Cookie是否有记住⽤户信息if(isset($_COOKIE['username'])){$_SESSION['username']=$_COOKIE['username'];$_SESSION['islogin']=1;}if(isset($_SESSION['islogin'])){//已经登录echo $_SESSION['username'].":你好,欢迎进⼊个⼈中⼼!<br/>";echo "<a href='logout.php'>注销</a>";}else{ //为登录echo "你还未登录,请<a href='login.html'>登录</a>";}>logout.php<?phpheader("Content-Type:text/html;charset=utf-8");session_start();//清除session$username=$_SESSION['username'];$_SESSION=array();session_destroy();//清除cookiesetcookie("username",'',time()-1);setcookie("code",'',time()-1);echo "$username,欢迎下次光临";echo "重新<a href='login.html'>登录</a>";>登录界⾯:以上所述是⼩编给⼤家介绍的PHP 实现⽤户登录的案例代码,希望对⼤家有所帮助,如果⼤家有任何疑问请给我留⾔,⼩编会及时回复⼤家的。

php注册和登录界面的实现案例(推荐)

php注册和登录界面的实现案例(推荐)

php注册和登录界⾯的实现案例(推荐)当初我觉得⼀个⽹站上注册和登录这两个功能很神奇,后来⾃⼰研究⼀下发现其实道理很简单,接下来看⼀下怎么实现的吧。

我在我的电脑上建了⼏个⽂件:login.html (登录页⾯)register.html(注册页⾯)success.html(登录成功跳转页⾯)return.html(注册成功页⾯)login.phpregister.php登录界⾯和注册界⾯以及success.html并没有什么都是些html标记如下:<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><title>登录界⾯</title></head><body><form method="post" action="login.php">账号:<input type="text" name="usernamel"><br/><br/>密码:<input type="password" name="passwordl"><input type="submit" value="登录" name="subl"><a href="http://127.0.0.1:8080/register.html">没有账号,注册</a></form></body></html><html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><title>会员注册</title></head><body><form method="post" action="register.php">账&nbsp;&nbsp;户:<input type="text" name="username"><br/><br/>密&nbsp;&nbsp;码:<input type="password" name="password"><br/><br/>密码确认:<input type="password" name="password2"><input type="submit" value="注册" name="sub"></form></body></html>return.html是注册成功之后呈现的页⾯,⾥⾯有⼀段js代码是⽤来定时返回登录界⾯的<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><title>⽆标题⽂档</title></head><body>注册成功!<br/>5秒后返回登录界⾯<br/>你也可以直接点击回到<a href="http://127.0.0.1:8080/login.html">登录页⾯</a><script type="text/javascript">setTimeout("ren()",5000);function ren(){window.location="http://127.0.0.1:8080/login.html";}</script></body></html>register.php这是与注册页⾯相对应后台页⾯<?php$link=mysql_connect("localhost","root","207207");//链接数据库header("Content-type:text/html;charset=utf-8");if($link){//echo"链接数据库成功";$select=mysql_select_db("login",$link);//选择数据库if($select){//echo"选择数据库成功!";if(isset($_POST["sub"])){$name=$_POST["username"];$password1=$_POST["password"];//获取表单数据$password2=$_POST["password2"];if($name==""||$password1=="")//判断是否填写{echo"<script type="."\""."text/javascript"."\"".">"."window.alert"."("."\""."请填写完成!"."\"".")".";"."</script>";echo"<script type="."\""."text/javascript"."\"".">"."window.location="."\""."http://127.0.0.1:8080/register.html"."\""."</script>"; exit;}if($password1==$password2)//确认密码是否正确{$str="select count(*) from register where username="."'"."$name"."'";$result=mysql_query($str,$link);$pass=mysql_fetch_row($result);$pa=$pass[0];if($pa==1)//判断数据库表中是否已存在该⽤户名{echo"<script type="."\""."text/javascript"."\"".">"."window.alert"."("."\""."该⽤户名已被注册"."\"".")".";"."</script>";echo"<script type="."\""."text/javascript"."\"".">"."window.location="."\""."http://127.0.0.1:8080/register.html"."\""."</script>"; exit;}$sql="insert into register values("."\""."$name"."\"".","."\""."$password1"."\"".")";//将注册信息插⼊数据库表中//echo"$sql";mysql_query($sql,$link);mysql_query('SET NAMES UTF8');$close=mysql_close($link);if($close){//echo"数据库关闭";//echo"注册成功!";echo"<script type="."\""."text/javascript"."\"".">"."window.location="."\""."http://127.0.0.1:8080/return.html"."\""."</script>"; }}else{echo"<script type="."\""."text/javascript"."\"".">"."window.alert"."("."\""."密码不⼀致!"."\"".")".";"."</script>";echo"<script type="."\""."text/javascript"."\"".">"."window.location="."\""."http://127.0.0.1:8080/register.html"."\""."</script>"; }}}}>login.php登录界⾯对应后台⽂件<?php header("Content-type:text/html;charset=utf-8");$link=mysql_connect("localhost","root","207207");if($link){$select=mysql_select_db("login",$link);if($select){if(isset($_POST["subl"])){$name=$_POST["usernamel"];$password=$_POST["passwordl"];if($name==""||$password=="")//判断是否为空{echo"<script type="."\""."text/javascript"."\"".">"."window.alert"."("."\""."请填写正确的信息!"."\"".")".";"."</script>";echo"<script type="."\""."text/javascript"."\"".">"."window.location="."\""."http://127.0.0.1:8080/login.html"."\""."</script>";exit;}$str="select password from register where username="."'"."$name"."'";mysql_query('SET NAMES UTF8');20 $result=mysql_query($str,$link);$pass=mysql_fetch_row($result);$pa=$pass[0];if($pa==$password)//判断密码与注册时密码是否⼀致{echo"登录成功!";echo"<script type="."\""."text/javascript"."\"".">"."window.location="."\""."http://127.0.0.1:8080/success.html"."\""."</script>"; }{echo"<script type="."\""."text/javascript"."\"".">"."window.alert"."("."\""."登录失败!"."\"".")".";"."</script>";echo"<script type="."\""."text/javascript"."\"".">"."window.location="."\""."http://127.0.0.1:8080/login.html"."\""."</script>";}}}}>⾃⼰闲来⽆事做的还有许多要完善的地⽅,欢迎⼤家提问讨论,提供更简便的⽅法!以上就是⼩编为⼤家带来的php注册和登录界⾯的实现案例(推荐)全部内容了,希望⼤家多多⽀持~。

php实现简单的权限管理的示例代码

php实现简单的权限管理的示例代码

php实现简单的权限管理的⽰例代码今天主要来实现⼀个权限管理系统,它主要是为了给不同的⽤户设定不同的权限,从⽽实现不同权限的⽤户登录之后使⽤的功能不⼀样,⾸先先看下数据库总共有5张表,qx_user,qx_rules和qx_juese 3张表与另外2张表形成"w"型的关系,也是⽐较常见的⼀种权限数据库的⽅式,⾸先先做权限的设定,也就是管理层给不同⽤户设定不同权限。

guanli.php<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>⽆标题⽂档</title><script src="../../dist/js/jquery-1.11.2.min.js"></script></head><body><h1>⽤户与⾓⾊管理</h1><div>请选择⽤户:<select id="user"><?phpinclude("../../fengzhuang/DBDA.class.php");$db = new DBDA();$sql = "select * from qx_user";$arr = $db->Query($sql);foreach($arr as $v){echo "<option value='{$v[0]}'>{$v[2]}</option>";}></select></div><br /><div>请选择⾓⾊:<?php$sjs = "select * from qx_juese";$ajs = $db->Query($sjs);foreach($ajs as $v){echo "<input type='checkbox' value='{$v[0]}' class='ck' />{$v[1]} ";}<br /><input type="button" value="确定" id="btn" /> </body><script type="text/javascript"> $(document).ready(function(e) {//选中默认⾓⾊Xuan();//当⽤户选中变化的时候,去选中相应⾓⾊ $("#user").change(function(){Xuan();})//点击确定保存⾓⾊信息$("#btn").click(function(){var uid = $("#user").val();var juese = "";var ck = $(".ck");for(var i=0;i<ck.length;i++){if(ck.eq(i).prop("checked")){juese += ck.eq(i).val()+"|";}}juese = juese.substr(0,juese.length-1); $.ajax({url:"chuli.php",data:{uid:uid,juese:juese,type:1},type:"POST",dataType:"TEXT",success: function(data){alert("保存成功!");}});})});//选中默认⾓⾊function Xuan(){var uid = $("#user").val();$.ajax({url:"chuli.php",data:{uid:uid,type:0},type:"POST",dataType:"TEXT",success: function(data){var juese = data.trim().split("|");var ck = $(".ck");ck.prop("checked",false);for(var i=0;i<ck.length;i++){if(juese.indexOf(ck.eq(i).val())>=0){ck.eq(i).prop("checked",true);}}}});}</script></html>chuli.php<?phpinclude("../../fengzhuang/DBDA.class.php"); $db = new DBDA();$type = $_POST["type"];switch($type)$uid = $_POST["uid"];$sql = "select jueseid from qx_uij where useid='{$uid}'";echo $db->StrQuery($sql);break;case 1:$uid = $_POST["uid"];$juese = $_POST["juese"];$sdel = "delete from qx_uij where useid='{$uid}'";$db->Query($sdel,0);$arr = explode("|",$juese);foreach($arr as $v){echo $v;$sql = "insert into qx_uij values('','{$uid}','{$v}')";$db->Query($sql,0);}echo "OK";break;}实现的效果,如图:我可以选择给哪个⽤户设置权限,给他⼀个什么⾓⾊,可以是⼀个,也可以多个,点击确定就在数据库中赋予了该权限。

前端开发实训案例网页验证码的生成与验证

前端开发实训案例网页验证码的生成与验证

前端开发实训案例网页验证码的生成与验证前端开发实训案例网页验证码的生成与验证为了保证网页的安全性和防止机器人恶意攻击,很多网站在用户进行注册、登录或者提交表单等操作时会要求用户输入验证码。

验证码是一种基于图像识别的技术,通过生成和验证验证码,可以有效防止机器人的自动化行为,确保用户身份的真实性。

本文将介绍前端开发中实现网页验证码的生成与验证的案例,并提供相应的代码实例。

1. 网页验证码的生成在前端开发中,验证码的生成是通过服务器端应用和前端代码联动来实现的。

以下是一种常见的验证码生成方法:首先,我们需要在服务器端生成验证码图片。

可以使用第三方库、自定义脚本或开源工具来实现这一步骤。

生成验证码图片的关键是要确保图片上的字符是随机的、干扰元素适当,并且字体、大小、颜色等可配置。

接下来,在前端页面中使用<img>标签将验证码图片展示给用户。

同时,在用户填写验证码的输入框旁边提供一个刷新按钮,点击按钮可以重新加载生成新的验证码图片。

2. 网页验证码的验证用户输入验证码后,前端需要将验证码的值发送给服务器端进行验证。

下面是一个网络验证码验证的示例过程:首先,前端需要获取用户输入的验证码值,可以使用JavaScript的相关API来获取。

然后,前端通过AJAX等方式将验证码的值发送给服务器端。

服务器端会将用户输入的验证码值与之前生成的验证码值进行比对。

如果验证码验证成功,服务器端会返回一个验证通过的信息(如JSON格式的数据)给前端;否则,返回一个验证失败的信息。

前端根据服务器端返回的响应,可以展示相应的提示信息给用户,例如验证码正确、验证码错误等提示。

3. 安全性考虑为了保证验证码的安全性,防止机器人攻击,有以下几点需要注意:首先,生成的验证码要足够随机,不能出现重复的情况,且需要有一定复杂度。

可以使用混合字母、数字和特殊字符的组合,增加验证码的难度。

其次,验证码的图片要有适当的干扰元素,使机器无法简单识别。

基于PHP实现用户注册登录功能

基于PHP实现用户注册登录功能

基于PHP实现⽤户注册登录功能本⽂介绍的是基于PHP实现⽤户注册登录功能,本项⽬分为四部分内容:1前端页⾯制作,2验证码制作,3实现注册登陆,4功能完善。

具体情况可以往下看。

验证码制作⼀、实验简介本次实验将会带领⼤家使⽤⾯向对象的思想封装⼀个验证码类。

并在注册和登陆界⾯展⽰使⽤。

通过本次实验的学习,你将会领悟到 PHP 的 OOP 思想,以及 GD 库的使⽤,验证码⽣成。

1.1 涉及到的知识点PHPGD库OOP编程1.2 开发⼯具sublime,⼀个⽅便快速的⽂本编辑器。

点击桌⾯左下⾓:应⽤程序菜单/开发/sublime⼆、封装验证码类2.1 建⽴⽬录以及准备字体在 web ⽬录下建⽴⼀个 admin ⽬录作为我们的后台⽬录,存放后台代码⽂件。

在 admin 下建⽴⼀个 fonts ⽬录,⽤于存放制作验证码所需字体。

在 admin 下新建⼀个 Captcha.php ⽂件,这就是我们需要编辑的验证码类⽂件。

当前⽬录层次结构:编辑 Captcha.php ⽂件:<?php/*** Captcha class*/class Captcha{function __construct(){# code...}}添加该类的私有属性和构造⽅法:<?php/*** Captcha class*/class Captcha{private $codeNum; //验证码位数private $width; //验证码图⽚宽度private $height; //验证码图⽚⾼度private $img; //图像资源句柄private $lineFlag; //是否⽣成⼲扰线条private $piexFlag; //是否⽣成⼲扰点private $fontSize; //字体⼤⼩private $code; //验证码字符private $string; //⽣成验证码的字符集private $font; //字体function __construct($codeNum = 4,$height = 50,$width = 150,$fontSize = 20,$lineFlag = true,$piexFlag = true){$this->string = 'qwertyupmkjnhbgvfcdsxa123456789'; //去除⼀些相近的字符$this->codeNum = $codeNum;$this->height = $height;$this->width = $width;$this->lineFlag = $lineFlag;$this->piexFlag = $piexFlag;$this->font = dirname(__FILE__).'/fonts/consola.ttf';$this->fontSize = $fontSize;}}字体⽂件可通过以下命令下载到 fonts ⽬录:接下来开始编写具体的⽅法:创建图像资源句柄//创建图像资源public function createImage(){$this->img = imagecreate($this->width, $this->height); //创建图像资源imagecolorallocate($this->img,mt_rand(0,100),mt_rand(0,100),mt_rand(0,100)); //填充图像背景(使⽤浅⾊)}⽤到的相关函数imagecreate:新建⼀个基于调⾊板的图像imagecolorallocate:为⼀幅图像分配颜⾊mt_rand:⽣成更好的随机数创建验证码字符串并输出到图像//创建验证码public function createCode(){$strlen = strlen($this->string)-1;for ($i=0; $i < $this->codeNum; $i++) {$this->code .= $this->string[mt_rand(0,$strlen)]; //从字符集中随机取出四个字符拼接}$_SESSION['code'] = $this->code; //加⼊ session 中//计算每个字符间距$diff = $this->width/$this->codeNum;for ($i=0; $i < $this->codeNum; $i++) {//为每个字符⽣成颜⾊(使⽤深⾊)$txtColor = imagecolorallocate($this->img,mt_rand(100,255),mt_rand(100,255),mt_rand(100,255));//写⼊图像imagettftext($this->img, $this->fontSize, mt_rand(-30,30), $diff*$i+mt_rand(3,8), mt_rand(20,$this->height-10), $txtColor, $this->font, $this->code[$i]); }}⽤到的相关函数imagecreate:新建⼀个基于调⾊板的图像imagecolorallocate:为⼀幅图像分配颜⾊mt_rand:⽣成更好的随机数创建验证码字符串并输出到图像//创建验证码public function createCode(){$strlen = strlen($this->string)-1;for ($i=0; $i < $this->codeNum; $i++) {$this->code .= $this->string[mt_rand(0,$strlen)]; //从字符集中随机取出四个字符拼接}$_SESSION['code'] = $this->code; //加⼊ session 中//计算每个字符间距$diff = $this->width/$this->codeNum;for ($i=0; $i < $this->codeNum; $i++) {//为每个字符⽣成颜⾊(使⽤深⾊)$txtColor = imagecolorallocate($this->img,mt_rand(100,255),mt_rand(100,255),mt_rand(100,255));//写⼊图像imagettftext($this->img, $this->fontSize, mt_rand(-30,30), $diff*$i+mt_rand(3,8), mt_rand(20,$this->height-10), $txtColor, $this->font, $this->code[$i]); }}⽤到的相关函数:imagettftext:⽤ TrueType 字体向图像写⼊⽂本创建⼲扰线条//创建⼲扰线条(默认四条)public function createLines(){for ($i=0; $i < 4; $i++) {$color = imagecolorallocate($this->img,mt_rand(0,155),mt_rand(0,155),mt_rand(0,155)); //使⽤浅⾊imageline($this->img,mt_rand(0,$this->width),mt_rand(0,$this->height),mt_rand(0,$this->width),mt_rand(0,$this->height),$color); }}⽤到的相关函数:imageline:画⼀条线段创建⼲扰点//创建⼲扰点(默认⼀百个点)public function createPiex(){for ($i=0; $i < 100; $i++) {$color = imagecolorallocate($this->img,mt_rand(0,255),mt_rand(0,255),mt_rand(0,255));imagesetpixel($this->img,mt_rand(0,$this->width),mt_rand(0,$this->height),$color);}}使⽤的相关函数:imagesetpixel:画⼀个单⼀像素对外输出图像:public function show(){$this->createImage();$this->createCode();if ($this->lineFlag) { //是否创建⼲扰线条$this->createLines();}if ($this->piexFlag) { //是否创建⼲扰点$this->createPiex();}header('Content-type:image/png'); //请求页⾯的内容是png格式的图像imagepng($this->img); //以png格式输出图像imagedestroy($this->img); //清除图像资源,释放内存}⽤到的相关函数:imagepng:以 PNG 格式将图像输出到浏览器或⽂件imagedestroy:销毁⼀图像对外提供验证码:public function getCode(){return $this->code;}完整代码如下:<?php/*** Captcha class*/class Captcha{private $codeNum;private $width;private $height;private $img;private $lineFlag;private $piexFlag;private $fontSize;private $code;private $string;function __construct($codeNum = 4,$height = 50,$width = 150,$fontSize = 20,$lineFlag = true,$piexFlag = true){$this->string = 'qwertyupmkjnhbgvfcdsxa123456789';$this->codeNum = $codeNum;$this->height = $height;$this->width = $width;$this->lineFlag = $lineFlag;$this->piexFlag = $piexFlag;$this->font = dirname(__FILE__).'/fonts/consola.ttf';$this->fontSize = $fontSize;}public function createImage(){$this->img = imagecreate($this->width, $this->height);imagecolorallocate($this->img,mt_rand(0,100),mt_rand(0,100),mt_rand(0,100));}public function createCode(){$strlen = strlen($this->string)-1;for ($i=0; $i < $this->codeNum; $i++) {$this->code .= $this->string[mt_rand(0,$strlen)];}$_SESSION['code'] = $this->code;$diff = $this->width/$this->codeNum;for ($i=0; $i < $this->codeNum; $i++) {$txtColor = imagecolorallocate($this->img,mt_rand(100,255),mt_rand(100,255),mt_rand(100,255));imagettftext($this->img, $this->fontSize, mt_rand(-30,30), $diff*$i+mt_rand(3,8), mt_rand(20,$this->height-10), $txtColor, $this->font, $this->code[$i]); }}public function createLines(){for ($i=0; $i < 4; $i++) {$color = imagecolorallocate($this->img,mt_rand(0,155),mt_rand(0,155),mt_rand(0,155));imageline($this->img,mt_rand(0,$this->width),mt_rand(0,$this->height),mt_rand(0,$this->width),mt_rand(0,$this->height),$color);}}public function createPiexs(){for ($i=0; $i < 100; $i++) {$color = imagecolorallocate($this->img,mt_rand(0,255),mt_rand(0,255),mt_rand(0,255));imagesetpixel($this->img,mt_rand(0,$this->width),mt_rand(0,$this->height),$color);}}public function show(){$this->createImage();$this->createCode();if ($this->lineFlag) {$this->createLines();}if ($this->piexFlag) {$this->createPiexs();}header('Content-type:image/png');imagepng($this->img);imagedestroy($this->img);}public function getCode(){return $this->code;}}以上就是验证码类的全部代码。

PHP实现简单注册登录系统

PHP实现简单注册登录系统

PHP实现简单注册登录系统本⽂实例为⼤家分享了PHP实现简单注册登录系统的具体代码,供⼤家参考,具体内容如下⽬录结构如下,其中function⽂件夹下包含两个函数⽂件,uploads⽂件夹⽤于存放上传的⽂件。

注:博主使⽤的是php5,使⽤php7的⼩伙伴运⾏报错的话有⼀部分原因是新的语法造成的,修改成新语法就可以了html页⾯登录页⾯index.html<form action="login_process.php" method="POST">登录<input type="text" name="userName" size="20" maxlength="15" placeholder="请填写⽤户名及域名"><br>注册<input type="password" name="password" size="20" maxlength="15"><br><input type="submit" value="登录"><input type="button" onclick="window.location.href='register.html'" value="注册"></form>注册页⾯register.html<h2>⽤户注册登录系统</h2><hr><form action="register.php" method="POST" enctype="multipart/form-data">⽤户名:<input type="text" name="userName" size="20" maxlength="15" placeholder="必须填写⽤户名">@<select name="domain" id=""><option value="@" selected></option><option value="@"></option></select><br>登录密码:<input type="password" name="password" size="20" maxlength="15"><br>确认密码:<input type="password" name="confirmPassword" size="20" maxlength="15"><br>选择性别:<input type="radio" name="sex" value="male" checked>男<input type="radio" name="sex" value="female">⼥<br>个⼈爱好:<input name="interests[]" type="checkbox" value="music">⾳乐<input name="interests[]" type="checkbox" value="game">游戏<input name="interests[]" type="checkbox" value="film">电影<br>个⼈相⽚<input type="hidden" name="MAX_FILE_SIZE" value="1024"><input type="file" name="myPicture" size="25" maxlength="100"><br>备注信息:<textarea name="remark" cols="30" rows="4" placeholder="请填写备注信息"></textarea><br><input type="submit" name="submit" value="注册"><input type="reset" name="cancel" value="重填"></form>功能实现⽂件实现登录功能login_process.php<?phpinclude_once("function/database.php");// $userName = $_POST['userName'];// $password = $_POST['password'];$userName = addslashes($_POST['userName']);$password = addslashes($_POST['password']);getConnect();$loginSQL = "select * from users where userName='$userName' and password='$password'";echo $loginSQL;$resultLogin = mysql_query($loginSQL);if (mysql_num_rows($resultLogin) > 0) {echo "登录成功";} else {echo "登录失败";}closeConnect();>实现注册功能register.php<?phpinclude_once("function/fileSystem.php");include_once("function/database.php");if (empty($_POST)) {exit("您提交的表单数据超过post_max_size! <br>");}// 判断输⼊密码与确认密码是否相同$password = $_POST['password'];$confirmPassword = $_POST['confirmPassword'];if ($password != $confirmPassword) {exit("输⼊的密码与确认密码不相等!");}$userName = $_POST['userName'];$domain = $_POST['domain'];$userName = $userName . $domain;// 判断⽤户名是否重复$userNameSQL = "select * from users where userName = '$userName'";getConnect();$resultSet = mysql_query($userNameSQL);if (mysql_num_rows($resultSet) > 0) {exit("⽤户名已被占⽤,请更换其他⽤户名");}$sex = $_POST['sex'];if (empty($_POST['interests'])) {$interests = "";} else {$interests = implode(";", $_POST['interests']);}$remark = $_POST['remark'];$myPictureName = $_FILES['myPicture']['name'];$registerSQL = "insert into users values(null, '$userName', '$password', '$sex', '$interests', '$myPictureName', '$remark')";$message = upload($_FILES['myPicture'], "uploads");if ($message == "上传成功" || $message == "没有上传") {mysql_query($registerSQL);$userID = mysql_insert_id();echo "注册成功<br>";} else {exit($message);}$userSQL = "select * from users where user_id = '$userID'";$userResult = mysql_query($userSQL);if ($user = mysql_fetch_array($userResult)) {echo "您的注册⽤户名为:" . $user['userName'];} else {exit("⽤户注册失败!");}closeConnect();函数⽂件(function⽂件夹)实现数据库连接与关闭的函数database.php<?php$databaseConnection = null;function getConnect() {$hosthome = "localhost";$database = "register";$userName = "root";$password = "123456";global $databaseConnection;$databaseConnection = @mysql_connect($hosthome, $userName, $password) or die (mysql_error()); mysql_query("set names gbk");@mysql_select_db($database, $databaseConnection) or die (mysql_error());}function closeConnect() {global $databaseConnection;if ($databaseConnection) {@mysql_close($databaseConnection) or die (mysql_error());}}>实现⽂件上传的函数fileSystem.php<?phpfunction upload($file, $filePath) {$error = $file['error'];switch ($error) {case 0:$fileName = $file['name'];$fileTemp = $file['tmp_name'];$destination = $filePath . "/" . $fileName;move_uploaded_file($fileTemp, $destination);return "上传成功";case 1:return "上传超过upload_max_filesize";case 2:return "上传⽂件超过form的MAX_FILE_SIZE";case 3:return "附件部分上传";case 4:return "没有上传";}}>以上就是本⽂的全部内容,希望对⼤家的学习有所帮助,也希望⼤家多多⽀持。

php登录实例演示

php登录实例演示

php登录实例演⽰<pre name="code" class="python">⼀、模板的使⽤(重点)a、规则模板⽂件夹下[TPL]/[分组⽂件夹/][模板主题⽂件夹/]和模块名同名的⽂件夹[Index]/和⽅法名同名的⽂件[index].html(.tpl)更换模板⽂件的后缀名(修改配置⽂件)'TMPL_TEMPLATE_SUFFIX'=>'.html',//更改模板⽂件后缀名b、修改模板⽂件⽬录层次'TMPL_FILE_DEPR'=>'_',//修改模板⽂件⽬录层次c、模板主题'DEFAULT_THEME'=>'your',//设置默认模板主题需要在TPL下⾯新建⼀个your⽂件夹作为模板主题⽂件夹如何动态修改模板主题?1、在后台准备⼀个功能,修改config.php⽂件中的默认模板项2、通过url传递 t=主题参数可以修改不同的模板'DEFAULT_THEME'=>'your',//设置默认模板主题'TMPL_DETECT_THEME'=>true,//⾃动侦测模板主题'THEME_LIST'=>'your,my',//⽀持的模板主题列表⼆、输出模板内容(重点)a、display1.display中没有参数$this->display();2.可以带参数$this->display(本模块⽂件夹下的其他模板⽂件);$this->display('index2');$this->display(其他⽂件夹下的模板⽂件);$this->display('Public:error');//注意,仅仅需要在Tpl下有Public⽂件夹以及其中的error.html即可,不需要⼀定有Public模块 $this->display(其他主题下的⽂件夹下的模板⽂件);//需要开启主题⽀持$this->display('my:Index:index');$this->display(⼀个url路径);$this->display('./Public/error.html');$this->display('./Public/error.html','utf-8','text/xml');$this->show($content);3.fetch⽅法获得模板⽂件中的内容,以字符串形式返回$content=$this->fetch('Public:error');4.show⽅法不需要模板⽂件,可以直接输出模板内容$content=$this->fetch('Public:error');dump($content);$content=str_replace('h1','i',$content);$this->show($content);三、模板中的赋值(重点)//$this->assign('name','赵桐正');$this->name='赵桐正2';$this->display();四、模板替换(重点)__PUBLIC__:会被替换成当前⽹站的公共⽬录通常是 /Public/__ROOT__:会替换成当前⽹站的地址(不含域名)__APP__:会替换成当前项⽬的URL地址(不含域名)__GROUP__:会替换成当前分组的URL地址(不含域名)__URL__:会替换成当前模块的URL地址(不含域名)__ACTION__:会替换成当前操作的URL地址(不含域名)__SELF__:会替换成当前的页⾯URL更换模板变量规则,修改配置项'TMPL_PARSE_STRING'=>array( //添加⾃⼰的模板变量规则'__CSS__'=>__ROOT__.'/Public/Css','__JS__'=>__ROOT__.'/Public/Js',),//登录页⾯:V层前端模板:Administrator@QCEE61NZ66FEX2D /cygdrive/c/wamp/www/thinkphp/Home/Tpl/Login$ lsindex.html<!-- form 表单 table 表格 td 单元格 tr ⾏标签 --><!doctype html><html lang="en"><head><meta name="Generator" content="EditPlus?"><meta name="Author" content=""><meta name="Keywords" content=""><meta name="Description" content=""><title>Document</title><link rel='stylesheet' type='text/css' href='__PUBLIC__/Css/login.css'/><link rel='stylesheet' type='text/css' href='__PUBLIC__/Css/basic.css'/><script src="__PUBLIC__/Js/login.js"></script></head><body><!doctype html><html lang="en"><head><meta name="Generator" content="EditPlus?"><meta name="Author" content=""><meta name="Keywords" content=""><meta name="Description" content=""><title>Document</title></head><body><center><h1>中均运维管理平台</h1><!--图⽚标签--><img class="img_bk" src="__PUBLIC__/Images/scan.jpg"/></center><!--表单提交--><form action='__URL__/do_login' method='post' name="myForm"><center><table cellspacing="0" cellpadding="0"><tr><td class="td1">⽤户名:</td><td><input type="text" name="username"/></td><td class="td3"></td><tr/><tr><td class="td1">密码:</td><td><input type="password" name="password"/></td><td class="td3"></td><tr/><tr><td class="td1">验证码:</td><td> <input type='text' name='code' /></td><td class="td3"><img src="__APP__/Public/code" onclick='this.src=this.src+"?"+Math.random()'/></td> </tr><center><tr><td class="td1"></td><!-- <td align="center" ><input type="submit" name="login" value="login" /></td> --><td><img src="__PUBLIC__/Images/login.jpg" onclick="login()"/></td><td class="td3"></td></tr><center/><center/></form></body></html></body></html>// C层类Administrator@QCEE61NZ66FEX2D /cygdrive/c/wamp/www/thinkphp/Home/Lib/Action$ ls -ltr LoginAction.class.php<?phpclass LoginAction extends Action {function index(){$this->display();}function do_login(){//获取⽤户名和密码信息,和数据库中⽐对// echo 111111111;// dump($_POST);// dump($_SESSION);$username=$_POST['username'];$password=$_POST['password'];$code=$_POST['code'];if($_SESSION['verify']!==md5($code)){$this->error('验证码错误');}/* else{$this->show('登录成功');}*/$m=new Model('user');$where['username']=$username;$where['password']=$password;$i=$m->where($where)->count();if ($i>0){$this->redirect('User/index');}else{$this->error('该⽤户不存在');};}}>//css⽂件$ cat basic.css* {padding:0;margin:0;}form {width:300px;margin: 0 auto;margin-top:50px;}Administrator@QCEE61NZ66FEX2D /cygdrive/c/wamp/www/thinkphp/Public/Css $//js ⽂件function login() {var ou=ername;var op=document.myForm.password;var oc=document.myForm.code;if (ou.value==''||op.value==''||oc.value==''){alert ('⽤户名,密码或者验证码不能为空');}else{document.myForm.submit();}}//转换<img class="img_bk" src="__PUBLIC__/Images/scan.jpg"/>解析为<img class="img_bk" src="/thinkphp/Public/Images/scan.jpg"/><form action='__URL__/do_login' method='post'>解析为/thinkphp/index.php/Login/do_login<link rel='stylesheet' type='text/css' href='__PUBLIC__/Css/login.css'/><link rel='stylesheet' type='text/css' href='__PUBLIC__/Css/basic.css'/> <script src="__PUBLIC__/Js/login.js"></script>解析为<link rel='stylesheet' type='text/css' href='/thinkphp/Public/Css/login.css'/> <link rel='stylesheet' type='text/css' href='/thinkphp/Public/Css/basic.css'/> <script src="/thinkphp/Public/Js/login.js"></script><p>"__APP__/Public/code"<p>解析为"/thinkphp2/index.php/Public/code"提交请求:<html><head><meta http-equiv="content-type" content="text/html; charset=utf-8"><title>Add</title></head><body><form action='/thinkphp/index.php/User/create' method='post'>姓名:<input type="text" name="username"/><br/>性别: 男<input type="radio" name='sex' value='1'/>⼥<input type="radio" name='sex' value='0'/><br/><input type="submit" value="添加新⽤户"/></form></body></html>。

用PHP编写登陆界面

用PHP编写登陆界面

⽤PHP编写登陆界⾯⽹页的编写⽤PHP最⽅便。

⽤php做了最简单的⽤户登录、创建的程序。

⼀、 MySQL的设计MySQL设计了两个表:members和sex。

两张表的创建语句分别是:create table members (id int(4) NOT NULL auto_increment,username varchar(65) NOT NULL default '',password varchar(65) NOT NULL default '',PRIMARY KEY (id));后有增加了⼏个字段:alter table members add firstname varchar(65);alter table members add lastname varchar(65);alter table members add email varchar(65);alter table members add age varchar(65);alter table members add sex_id int;alter table members modify sex_id int(4);alter table members modify age int(4);第⼆张表的创建语句:create table sex (sex_id int primary key not null, sex varchar(20));两张表的结构如下:mysql> desc members;+-----------+-------------+------+-----+---------+----------------+| Field | Type | Null | Key | Default | Extra |+-----------+-------------+------+-----+---------+----------------+| id | int(4) | NO | PRI | NULL | auto_increment || username | varchar(65) | NO | | | || password | varchar(65) | NO | | | || firstname | varchar(65) | YES | | NULL | || lastname | varchar(65) | YES | | NULL | || email | varchar(65) | YES | | NULL | || age | int(4) | YES | | NULL | || sex_id | int(4) | YES | | NULL | |+-----------+-------------+------+-----+---------+----------------+8 rows in set (0.00 sec)mysql> desc sex;+--------+-------------+------+-----+---------+-------+| Field | Type | Null | Key | Default | Extra |+--------+-------------+------+-----+---------+-------+| sex_id | int(11) | NO | PRI | NULL | || sex | varchar(20) | YES | | NULL | |+--------+-------------+------+-----+---------+-------+2 rows in set (0.00 sec)⼆、php页⾯的编写1 index.htmlIndex.html是⽤户的登录页⾯主要是html的编写:<form name="form1" method="post" action="login.php">⽤户登录<br>Username:<input name="username" type="text" id="username"><br>Password:<input name="password" type="password" id="password"><br><input name="submit" type="submit" value="Login"></form><form name="form2" method="post" action="reg.html">⽤户注册<br><input name="reg" type="submit" value="Reg"></form>具体的页⾯如下:2 ⽤户登录login.php⽤户填写了⽤户名和密码后的登录和认证程序如下:<?phpinclude('conn.php');$username = $_POST['username'];$password = $_POST['password'];$sql = "select * from members where username = '$username' and password = MD5('$password')";$user_query = mysql_query($sql,$conn) or die('mysql query error');$rows=mysql_num_rows($user_query);//print_r(mysql_fetch_row($user_query));if($_GET['action'] == "logout"){session_start();unset($_SESSION['username']);//session_unset('username');//session_destroy('username'); echo '注销登录成功!';echo$_SESSION['username'],$username;exit;}if ($rows == 1){session_start();$_SESSION['username'] = $username;echo$username,' 欢迎你!进⼊ <a href="my.php">⽤户中⼼</a><br />';echo '点击此处 <a href="login.php?action=logout">注销</a> 登>录!<br />';exit;} else {echo '⽤户名密码错误,点击此处 <a href="index.html">login</a> 登录!<br />';}>登录后的页⾯如下:3 mysql的连接程序在2中有⼀段conn.php,是与mysql的连接程序。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

PHP开发一个用户登陆模块,关键技术(session会话、cookie应用、GD库应用)大家好,今日我们一起来开发一个PHP随机验证码的生成实例。

首先,我们来看一下效果:开发随机验证码使用到的函数有以下几个。

如果有不明白这些函数的使用方法的朋友,请参考PHP5开发手册。

1.imagecreatetruecolor(); //创建一个真彩的画布2.imagecolorallocate(); //分配颜色3.imagefill(); //填充颜色4.imagerectangle(); //画一个矩形,用于绘制验证码的边框5.imagettftext(); //将文本内容写入到图像中6.imagesetpixel(); //绘制一个单一像素6imageline(); //绘制一条线7.imagepng(); //输出图像8.imagedesctroy(); //销毁图像,释放内容PHP开发随机验证码的步骤与思路1.获取随机验证码的内容2.创建一个真彩画布,分配字体颜色跟背景颜色3.开始绘画4.输出图像5.销毁图像6.自定义一个函数用来获取随机验证码(本人目前在淘宝网上注册了一家小小的店铺,主要营业服装之类的商品。

有兴趣有需要的朋友请访问:可以直联系到本人!)接下来我们开始开发,在网站的根目录下新建一个PHP文件(code.php):<?phpsession_start();//生成随机验证码$num=4;$str=getCode($num,0);$_SESSION["code"]=$str;//1.创建图像,定义颜色$width=$num*20;$height=25;$im=imagecreatetruecolor($width,$height);//1.1字体颜色$color[] = imagecolorallocate($im,111,0,55);$color[] = imagecolorallocate($im,0,77,0);$color[] = imagecolorallocate($im,0,0,160);$color[] = imagecolorallocate($im,221,111,0);$color[] = imagecolorallocate($im,220,0,0);//1.2背景颜色$bgcolor = imagecolorallocate($im,240,240,240);//2.开始绘画,使用imagefill()、imagerectangle()函数给图像增加背景颜色与边框颜色imagefill($im,0,0,$bgcolor);imagerectangle($im,0,0,$width-1,$height-1,$color[rand(0,4)]);//2.1使用imagettftext()函数,将文本内容写入到图像中for($i=0;$i<$num;$i++){imagettftext($im,14,rand(-20,20),5+(18*$i),20,$color[rand(0,4)],"msyh.ttf",$str[$i]); }//2.2使用imagesetpixel()增加小于100个的干扰点for($i=0;$i<100;$i++){//随机颜色$c=imagecolorallocate($im,rand(0,255),rand(0,255),rand(0,255));imagesetpixel($im,rand(0,$width),rand(0,$height),$c);}//2.3使用imageline()增加小于$num个数的干扰线for($i=0;$i<$num;$i++){//随机颜色$c=imagecolorallocate($im,rand(0,255),rand(0,255),rand(0,255));imageline($im,rand(0,$width),rand(0,$height),rand(0,$width),rand(0,$height),$c); }//3.输出图像,通过header()函数,告诉浏览器输出PNG图像格式,而不是文本形式header("Content-Type:image/png");imagepng($im);//4.销毁图像,释放内容imagedestroy($im);//5.自定义函数,获取随机验证码functiongetCode($m=4,$type=0){//随机验证码的内容$str="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";//各个类型验证码索引数组的结束位置,9的位置是纯数字结束位置,35的位置为小写字母的结束位置,62的位置为大写字母的结束位置//因位置是从0开始计算,所以最后的位置应减1.$t=array(9,35,strlen($str)-1);//从$str字符串中,生成随机验证码$c="";for($i=0;$i<$m;$i++){$c.=$str[rand(0,$t[$type])];}//将生成的验证码赋值于SESSION会话,实现不同页面传递return $c;}项目完成到这一步的时候,随机验证码已经制作完成了!接下来我们来制作LOGIN登陆页面LOGIN.PHP。

使用到的CSS、JS文件内容都在下面提供,使用到的图片:1:(login_button.jpg)2:(bg_title.jpg)3:(bg_user.jpg)<?phpsession_start();if(isset($_POST["login_x"])){$username=trim($_POST["username"]);$password=md5($_POST["password"]);if($_POST["code"] != $_SESSION["code"]){echo "<script>alert('验证码错误!');history.back();</script>";exit;}//登陆有效期,如果选择是7天,则保留时间为604800秒,如果选择的是1个月,则保留时间为2592000秒。

否则,保留为1小时if($_POST["radiobutton"]==1){$time=time()+604800;}if($_POST["radiobutton"]==2){$time=time()+2592000;}$sql="select id from web_user where username='$username' and password='$password'";include "dbconfig.inc.php";$result=$mysqli->query($sql);if($result->num_rows> 0){setCookie("username",$username,$time);setCookie("isLogin",1,$time);echo "<script>window.location.href='index.php?lid=$_POST[radiobutton]';</script>";}else{echo "<script>alert('用户名或密码有误!');history.back();</script>";exit;}}?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312" /><title>用户登陆</title><link rel="stylesheet" type="text/css" href="css/login.css"></style><script type="text/javascript" src="js/checkinput.js"></script></head><body><div class="login"><div id="tit">用户登陆</div><div class="login_body"><form action="login.php" method="post" onsubmit="return check(this)"><div id="username">用户名:<input type="text" name="username" size="30" class="login_id"/></div><div id="username">密&nbsp;&nbsp;码:<input name="password" type="password" class="login_id" size="30" /></div><div id="username">验证码:<input name="code" type="text" size="8" />&nbsp;<!—验证码的调用,鼠标经过时变成手型,点击自动更换不同的验证码--><imgsrc="phpcode/code.php" name="img" align="absmiddle" onclick="this.src='phpcode/code.php?id='+Math.random()" style="cursor:pointer"/> </div><div id="username">有效期:<input name="radiobutton" type="radio" value="1" checked="checked" />7天<input type="radio" name="radiobutton" value="2" />1个月</div><div id="login_button"><input type="image" src="images/login_button.jpg" name="login" /></div><div id="login_button"><a href="forgetpass.php">忘记密码?</a> | <a href="reg.php">免费注册</a></div></form></div></div></body></html>LOGIN.PHP页面CSS文件内容LOGIN.CSS<!--.login{width:330px;margin:0px;padding-top:50px;margin:auto;font-size:12px;}#tit{width:300px;height:34px;border:1px #ccc solid;margin:auto;line-height:34px;padding-left:30px;font-family:Geneva, Arial, Helvetica, sans-serif;color:#000066;font-size:15px;font-weight:bold;background:url(../images/bg_title.jpg) repeat-x;}.login_body{width:300px;height:auto;padding-left:30px;padding-top:10px;line-height:30px;border-left:1px #ccc solid;border-right:1px #ccc solid;border-bottom:1px #ccc solid;background:url(../images/bg_user.jpg) repeat;}.login_body #username{height:30px;line-height:30px;font-size:12px;margin-bottom:5px;}#login_button{font-size:12px;padding-left:49px;margin-bottom:5px;}.login_id{width:200px;}a:link{color:#000000;text-decoration:none;}a:hover{color:#FF0000;text-decoration:none;}LOGIN.PHP页面判断用户输入是否合法的JS代码内容checkinput.js function check(form){if(ername.value == ""){alert('请输入用户名!');ername.select();return false;}if(form.password.value == ""){alert('请输入密码!');form.password.select();return false;}if(form.code.value == ""){alert('请输入验证码!');form.code.select();return false;}}项目完成到这一步,可以在浏览器上查看效果:接下来,为了站点的安全必须制作一个安公共安全配置文件判断用户是否正常登陆的安全公共配置文件comm.inc.php<?phpif(!$_COOKIE["isLogin"]){header("Location:login.php");}MYSQL连接文件dbconfig.inc.php<?php$mysqli=new mysqli(“localhost”,”root”,”saiheadmin”,”xsphp”);?>主页面的显示index.php<?phpinclude "comm.inc.php";include "dbconfig.inc.php";$username=$_COOKIE["username"];$time=$_GET['lid'];if($time==1){$str="<b><font color='red'>7天</font></b>";}if($time==2){$str="<b><font color='red'>1个月</font></b>";}$sql="select allow_1,allow_2,allow_3,allow_4 from web_user where username='{$username}'";$result=$mysqli->query($sql);$user=$result->fetch_array();if($user[allow_1] && $user[allow_2] && $user[allow_3] && $user[allow_4]){ $power="<b><font color='green'>超级管理员</font></b>";}if(($user[allow_1])==0 && $user[allow_2]==0 && $user[allow_3]==0 && $user[allow_4]==0){ $power="<b><font color='green'>普通浏览者</font></b>";}?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312" /><title>主页面</title></head><body><p>欢迎,<b><font color="green"><?php echo $username;?></font></b>光临本站!您帐户登陆有效期为<?php echo $str;?>。

相关文档
最新文档