php小项目-登录和注册的实现

这篇具有很好参考价值的文章主要介绍了php小项目-登录和注册的实现。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言

大家好,我是南木元元,热衷分享有趣实用的文章。本项目搭建了一个简单的页面,用php+mysql来实现登录、注册以及注销的功能。

实现效果

未登录:从右上方可以看到,当前是未登录的主页
php小项目-登录和注册的实现

登录页:点击登录,来到登录页面
php小项目-登录和注册的实现

注册页:如果还没注册,就点击进行注册
php小项目-登录和注册的实现
登录成功:登录成功进入主页,看到右上方显示当前登录的用户名。点击用户名后的退出,即可退出登录。
php小项目-登录和注册的实现

代码实现

  • 项目目录

php小项目-登录和注册的实现

  • 核心代码

config.php:保存数据库连接信息

<?php
//数据库连接信息
$host='localhost';		//数据库服务器主机名
$user='root';			//数据库用户名
$password='root';		//数据库用户密码
$dbname='itcast';		//数据库名
//开启session
session_start();

register.php:实现注册功能

<?php
require'./config.php';		//引入公共文件开启session功能
// require'./html/register.html';	//调用内容模板

if($_POST){
	$link=mysqli_connect($host,$user,$password,$dbname);
	if(!$link){
		display('数据库连接失败。'.mysqli_connect_error());	
	}
	mysqli_set_charset($link,'utf8');
	$fields= array('name', 'password', 'sex', 'email', 'course', 'channel', 'message') ;
	//$fields= ['name', 'password', 'sex', 'email', 'course', 'channel', 'message'] ;
	//$data[];
	$data=array();
	foreach($fields as $v){
		$data[$v]=isset($_POST[$v])?$_POST[$v]:'';	
	}
	
	if(is_array($data['channel'])){
		$data['channel']==implode(',', $data['channel']);
	}
	foreach($data as $k=>$v){
		$data[$k]=mysqli_real_escape_string($link,$v);	
	}
	$result=mysqli_query($link,"SELECT 1 FROM `user` WHERE `name` ='{$data['name']}'");
	if(!$result){
		display('数据库操作失败:'.mysqli_error($link));	
	}
	if(mysqli_num_rows($result)){
		display('该用户名已被注册!');
	}
	$sql_values=implode("','",$data);
	$sql_fields=implode("`,`",$fields);
	
	//执行SQL语句
	$result=mysqli_query($link,"INSERT INTO user (`$sql_fields`) VALUES ('$sql_values')");
	
	if($result){
		header('Location:login.php');
		exit;	
	}else{
		display('数据库操作失败:'.mysqli_error($link));	
	}
}
display();
function display($message=false){
	require'./html/register.html';
	exit;
}

login.php:实现登录功能

<?php
require'./config.php';		//引入公共文件开启session功能

if($_POST){
	$link=mysqli_connect($host,$user,$password,$dbname);
	if(!$link){
		display('数据库连接失败。'.mysqli_connect_error());	
	}
	mysqli_set_charset($link,'utf8');
	//接收用户名和密码
	$name=isset($_POST['name'])? $_POST['name']:'';
	$password=isset($_POST['password'])? $_POST['password']:'';
	
	$name=mysqli_real_escape_string($link,$name);
	$password=mysqli_real_escape_string($link,$password);
	$result=mysqli_query($link,"SELECT 1 FROM `user` WHERE `name` ='$name' AND `password`='$password'");
	if(!$result){
		display('数据库操作失败:'.mysqli_error($link));	
	}
	if(mysqli_num_rows($result)){
		$_SESSION['user']=$name;
		header('Location:index.php');
		exit;
	}else{
		display('登录失败,用户名或密码有误。');
	}
}
display();
function display($message=false){
	require'./html/login.html';
	exit;
}

index.php:主页

<?php
require'./config.php';		//引入公共文件开启session功能
require'./html/index.html';	//调用内容模板

logout.php:实现注销功能

<?php
require'./config.php';	
unset($_SESSION['user']);		//用户退出功能
header('Location:index.php');	//跳转页面

index.html

<?php require'./html/header.html';?>
        <div class="banner">
        	<div class="banner_pic" id="banner_pic">
            	<div class="current"><img src="images/01.jpg" alt=""></div>
                <div class="pic"><img src="images/02.jpg" alt=""></div>
                <div class="pic"><img src="images/03.jpg" alt=""></div>
                <div class="pic"><img src="images/04.jpg" alt=""></div>
            </div>
            <ol id="button">
            	<li class="current">1</li>
                <li class="but">2</li>
                <li class="but">3</li>
                <li class="but">4</li>
            </ol>
        </div>
        <div class="stages">
        	<div class="stages_title">通知公告</div>
        	<div class="stages_con">
            	<marquee>
                	<ul>
                    	<li><a href="#">【绘画百科】上色那些事!</a></li>
                        <li><a href="#">手绘、插画素材免费下载!</a></li>
                    </ul>
                </marquee>
            </div>
        </div>
        <div class="content">
        	<div class="line1">
            	<div class="left">
                	<div class="module">
                    	<div class="title">
                            <div class="title_left"></div>
                            <div class="title_right"><span></span>课程分类</div>
                            <div class="title_bottom"></div>
                        </div>
                        <div class="module_con">
                        	<ul>
                            	<li><a href="#">素描课程</a></li>
                                <li><a href="#">油画课程</a></li>
                                <li><a href="#">头像课程</a></li>
                                <li><a href="#">水彩课程</a></li>
                                <li><a href="#">速写课程</a></li>
                                <li><a href="#">CG课程</a></li>
                                <li><a href="#">彩铅课程</a></li>
                                <li><a href="#">......</a></li>
                            </ul>
                       	</div>
                   	</div>
                    <div class="job">
                    	<div class="job_title"><span></span>热门文章</div>
                        <div class="job_con">
                          	<ul>
                            	<li><span>1</span><a href="#">看看这几位手绘大牛的作品</a></li>
                                <li><span>1</span><a href="#">插画师该如何自我成长</a></li> 
                                <li><span>1</span><a href="#">动漫绘画百科之眼睛画法...</a></li>
                                <li><span>1</span><a href="#">头发N种画法...</a></li>
                                <li><span>1</span><a href="#">构图样式20例分享...</a></li>
                            </ul>
                        </div>
                    </div>
                </div>
                <div class="center">
                	<div class="message">
                    	<div class="message_title">
                        	<ol id="message">
                            	<li class="current"><a herf="#"><span>专业动态</span></a></li>
                                <li><a href="#"><span>行业动态</span></a></li>
                            </ol>
                            <div class="more"><a href="#"><img src="images/more.gif" align="middle" /></a></div>
                        </div>
                        <div id="message_con">
                        	<dl class="current">
                            	<dt class="message_left"></dt>
                                <dd class="message_right">
                                	<ul class="left_ul">
                                    	<li><span></span><a href="#">时髦青年召集令!浓浓嬉皮风、动感disco...</a></li>
                                        <li><span></span><a href="#">快来参加枪火游侠英雄角色设定大赛呀!</a></li>
                                        <li><span></span><a href="#">博郡汽车品牌LOGO设计征集开赛啦!</a></li>
                                        <li><span></span><a href="#">收官至!SurfaceBook 2随性专属包图案设计...</a></li>
                                        <li><span></span><a href="#">美的空调创意海报征集大赛来啦~</a></li>
                                    </ul>
                                    <ul class="right_ul">
                                    	<li><a href="#">2018/06</a></li>
                                        <li><a href="#">2018/06</a></li>
                                        <li><a href="#">2018/06</a></li>
                                        <li><a href="#">2018/06</a></li>
                                        <li><a href="#">2018/07</a></li>
                                    </ul>
                                </dd>
                            </dl>
                            <dl>
                            	<dt class="meesage_left1"></dt>
                                <dd class="message_right">
                                	<ul class="left_ul">
                                    	<li><span></span><a herf="#">辩论!中国最优秀的动画作品是那一部?</a></li>
                                        <li><span></span><a herf="#">测试:你会转到到那所二次元学校读书?</a></li>
                                        <li><span></span><a herf="#">日宅:最能体现手绘技能的是什么?</a></li>
                                        <li><span></span><a herf="#">【手绘节操】你的手绘作是临摹那部作品?</a></li>
                                        <li><span></span><a herf="#">手绘来袭,全新出击</a></li>
                                    </ul>
                                    <ul class="right_ul">
                                    	<li><a href="#">2018/07</a></li>
                                        <li><a href="#">2018/07</a></li>
                                        <li><a href="#">2018/06</a></li>
                                        <li><a href="#">2018/07</a></li>
                                        <li><a href="#">2018/06</a></li>
                                    </ul>
                                </dd>
                            </dl>
                        </div>
                    </div>
                    <div class="teacher">
                    	<div class="teacher_title"><span>插画师</span><a href="#"><img src="images/more.gif" /></a></div>
                        <div class="teacher_con">
                        	<ul>
                            	<li>
                                	<div><a href="#"><img src="images/teacher01.gif"/></a></div>
                                    <div class="name"><a href="#">诺曼洛克威尔</a></div>
                                </li>	
                                <li>
                                	<div><a href="#"><img src="images/teacher02.gif"/></a></div>
                                    <div class="name"><a href="#">塔莎杜朵</a></div>
                                </li>	
                                <li>
                                	<div><a href="#"><img src="images/teacher03.gif"/></a></div>
                                    <div class="name"><a href="#">竹冈美穗</a></div>
                                </li>	
                                <li>
                                	<div><a href="#"><img src="images/teacher04.gif"/></a></div>
                                    <div class="name"><a href="#">MarcosChin</a></div>
                                </li>	
                            </ul>
                        </div>
                    </div>
                </div>
                <div class="right">
                	<div class="course">
                    	<h3>精品课程</h3>
                        <ul>
                        	<li><a href="#">美术基础精品课程</a></li>
                            <li><a href="#">uv拆分课程</a></li>
                            <li><a href="#">网游模型制作课程</a></li>
                            <li><a href="#">材质深入刻画</a></li>            
                            <li><a href="#">Q版角色建模</a></li>
                        </ul>
                    </div>
                    <div class="study">
                    	<a href="#"><img src="images/study.gif" /></a>
                    </div>
                </div>
            </div>
            <div class="line2">
            	<div class="book">
                	<div class="book_title"><span>推荐书籍</span><a href="#"><img src="images/more.gif" /></a></div>
                    <div class="book_con">
                    	<ul>
                        	<li>
                            	<div><a href="#"><img src="images/book01.gif" /></a></div>
                                <div class="name"><a href="#">简笔画教程</a></div>  
                            </li>
                            <li>
                            	<div><a href="#"><img src="images/book02.gif" /></a></div>
                                <div class="name"><a href="#">铅笔的温情手</a></div>  
                            </li>
                            <li>
                            	<div><a href="#"><img src="images/book03.gif" /></a></div>
                                <div class="name"><a href="#">时装画手绘</a></div>  
                            </li>
                            <li>
                            	<div><a href="#"><img src="images/book04.gif" /></a></div>
                                <div class="name"><a href="#">铅笔的魔法教程</a></div>  
                            </li>
                            <li>
                            	<div><a href="#"><img src="images/book05.gif" /></a></div>
                                <div class="name"><a href="#">水彩手绘教程</a></div>  
                            </li>
                            <li class="no_mar">
                            	<div><a href="#"><img src="images/book06.gif" /></a></div>
                                <div class="name"><a href="#">古尔德手绘</a></div>  
                            </li>
                        </ul>
                    </div>
                </div>
            </div>
        </div>
<?php require'./html/footer.html';?>

login.html

<?php require'./html/loginhead.html';?>
        <div>
        	<h3 class="content_tab_title">登录</h3>
            <form action="#" method="post" name="example" class="content_denglu" id="form">
            	<table class="content_denglulist">
                	<tr>
                    	<td class="left">姓名<span class="red">*</span></td>
                        <td><input type="text" name="name" class="txt01" id="username" /></td>
                    </tr>
                    <tr>
                    	<td class="left">密码<span class="red">*</span></td>
                        <td><input type="password" name="password" class="txt02" id="password" /></td>
                    </tr>
                    <tr>
                    	<td>&nbsp;</td>
                        <td><input type="submit" value="提交" class="tabbtn" /></td>
                    </tr>
                </table>
            </form>
        </div>
       
    </body>
</html>

register.html

<?php require'./html/loginhead.html';?>
        <div>
        	<h3 class="content_tab_title">注册</h3>
            <form action="#" method="post" name="example" class="content_tab" id="form">
            	<table class="content_tablist">
                	<tr>
                    	<td class="left">姓名<span class="red">*</span></td>
                        <td><input type="text" class="txt01" id="username" name="name" /></td>
                    </tr>
                    <tr>
                    	<td class="left">密码<span class="red">*</span></td>
                        <td><input type="text" class="txt02" name="password" id="password" /></td>
                    </tr>
                    <tr>
                    	<td class="left">确认密码<span class="red">*</span></td>
                        <td><input type="text" class="txt02" id="password2" /></td>
                    </tr>
                    <tr>
                    	<td class="left">性别<span class="red">*</span></td>
                        <td>
                        	<label for="boy"><input type="radio" name="sex" id="boy" /></label>
                            <label for="girl"><input type="radio" name="sex" id="girl" /></label>
                        </td>
                    </tr>
                    <tr>
                    	<td class="left">邮箱<span class="red">*</span></td>
                        <td><input type="text" class="txt03" name="email" /></td>
                    </tr>
                    <tr>
                    	<td class="left">意向课程<span class="red">*</span></td>
                        <td>
                        	<select class="course" name="course">
                            	<option>手绘基础班</option>
                                <option selected="selected">手绘进阶班</option>
                                <option>手绘就业班</option>
                            </select>
                        </td>
                    </tr>
                    <tr>
                    	<td class="left">了解渠道<span class="red">*</span></td>
                        <td>
                        	<label for="baidu"><input type="checkbox" id="baidu" name="channel[]" value="baidu" />baidu</label>
                            <label for="itcast"><input type="checkbox" id="itcast" name="channel[]" value="小绘老学" />小绘老学员</label>
                            <label for="friend"><input type="checkbox" id="friend" name="channel[]" value="朋友推荐" />朋友推荐</label>
                            <label for="csdn"><input type="checkbox" id="csdn" name="channel[]" value="CSDN网站" />CSDN网站</label>
                            <label for="video"><input type="checkbox" id="video" name="channel[]" value="视频教程" />视频教程</label>
                            <label for="other"><input type="checkbox" id="other" name="channel[]" value="其他" />其他</label>
                        </td>
                    </tr>
                    <tr>
                    	<td class="left">留言</td>
                        <td><textarea cols="50" rows="5" class="message" name="message">请简述您有没有绘画基础,以及为什么选择学校手绘?</textarea></td>
                    </tr>
                    <tr>
                    	<td>&nbsp;</td>
                        <td><input type="submit" value="提交" class="tabbtn" /></td>
                    </tr>
                </table>
            </form>
        </div>
        <script type="text/javascript" src="./javascript/register.js"></script>
    </body>
</html>
  • 配置mysql数据库

登录phpMyAdmin
php小项目-登录和注册的实现

新建itcast数据库和user表

php小项目-登录和注册的实现

  • 部署项目

完成以后几步后,把项目部署到phpstudy上,即可打开网站浏览效果。phpstudy的使用可见我另一篇fastadmin的安装过程。

结语

🔥如果此文对你有帮助的话,欢迎💗关注、👍点赞、⭐收藏、✍️评论,支持一下博主~文章来源地址https://www.toymoban.com/news/detail-476970.html

到了这里,关于php小项目-登录和注册的实现的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • JavaWeb项目----实现用户登录、注册、对商品信息进行的添加、删除、修改功能

    在idea中创建有关类   web中写jsp页面,index.jsp是首页布局 运行效果如下:  登录页面 运行效果如下:   注册页面  运行效果如下:   登陆正确时跳转到zhuye.jsp主页页面( 使用Java脚本获取集合中对象的元素,放html标签中) 运行效果如下:   在登陆页面,密码或用户名输入

    2024年02月11日
    浏览(37)
  • 根据Java Web 使用Servlet +Mysql 实现简易的登录及注册功能以及项目间的分层

    1、概述         一个好的层次划分不仅可以能使代码结构更加清楚,还可以使项目分工更加明确,可读性大大提升,跟回家有利于后期的维护和升级。从另一个角度来看,好的代码分层架构,应该使可以很好的匹配上单一职责原则的。这样就可以降低层与层之间的依赖,

    2024年02月05日
    浏览(56)
  • 安卓studio 个人课设项目:“这个app“——实现注册登录,显示用户信息功能,并跳转对应网页

    目录 目录 功能说明  登录页面 注册页面 登录后界面 点击头像出现侧滑界面,并显示用户信息 点击编辑按钮进入信息编辑页面  保存后返回  用户名已更改 跳转网页 相关代码 布局 登录界面  注册界面  信息显示界面  主界面 实现侧滑布局  信息编辑界面 网页显示界面 

    2023年04月26日
    浏览(43)
  • 前端注册登录页面数据库交互(h5+css+php+mysql+axios)

    一个登录注册界面,并使用前端数据库实现登陆注册功能  首先是index.html 直接在index.html里面写了用axios,实现注册和登录 效果图 登录注册滑动实现 script.js style.css 然后是登录和注册的php login.php register.php

    2024年02月11日
    浏览(42)
  • Vue项目实战——【基于 Vue3.x + Vant UI】实现一个多功能记账本(登录注册页面,验证码)

    系列内容 参考链接 基于 Vue3.x + Vant UI 的多功能记账本(一) 项目演示,涉及知识点 基于 Vue3.x + Vant UI 的多功能记账本(二) 搭建开发环境 基于 Vue3.x + Vant UI 的多功能记账本(三) 开发导航栏及公共部分 项目演示 Vue3 + Vant UI_多功能记账本 1、登录注册页面 页面设计,页面

    2024年02月03日
    浏览(68)
  • 网页版Java(Spring/Spring Boot/Spring MVC)五子棋项目(二)前后端实现用户的登录和注册功能【用户模块】

    1. 用户id 2. 用户名 3. 密码 4. 天梯积分 5. 总场数 6. 获胜场数 和数据库的数据一一对应 1. 连接数据库(application.yml连接数据库) 这个可以直接赋值代码 2. 创建UserMapper的Java接口(interface UserMapper) 创建接口,在UserMapper.xml实现 在model中创建 需要实现@Mapper注释 3. 创建UserMappe

    2024年02月13日
    浏览(47)
  • Vue电商项目--登录与注册

    刚刚报了一个错误,找不到图片的资源 assets文件夹--放置全部组件共用静态资源  在样式当中也可以使用@符号【src别名】。切记在前面加上  先修改原先的接口成这个按钮  然后把input框里面的数据保存到data中  就是点击获取验证码,就要发起请求 下面是接口: /api/user/pa

    2024年02月13日
    浏览(32)
  • eclipse-登录注册web项目-练

    目录 1.软件环境 2.创建Dynamic Web Project项目 3.导入JDBC jar包 4. 创建 JSP 页面 5. 创建 一个 包 写 java代码 6. 新建一个 Servlet 用于登录​ 7. 修改代码中的  数据库和数据库密码​ 8.注册 页面 JSP 9. 新建一个 Servlet  用于 注册用户 10.修改 web.xml   11.数据库建库(testdb)建表(user) 12

    2024年02月11日
    浏览(27)
  • Android Studio心得-创建登录注册项目

            首先先了解AndroidStudio是什么:Android Studio是一个由谷歌开发的Android应用程序开发环境,用于开发Android应用程序。它基于JetBrains IntelliJIDEA软件,并包含了许多定制化功能,包括易于使用的分析工具、内存分析工具和代码编辑器等,支持Java、Kotlin等多种编程语言。An

    2024年02月05日
    浏览(56)
  • PHP注册、登陆、6套主页-带Thinkphp目录解析-【白嫖项目】

    强撸项目系列总目录在000集 PHP要怎么学–【思维导图知识范围】 用免费公开视频,卷飞培训班哈人!打死不报班,赚钱靠狠干! 只要自己有电脑,前后项目都能搞!N年苦学无人问,一朝成名天下知! PHP无类 PHP类写法 ThinkPHP框架 其它框架 *5.0 环境 PHP版本 mysql版本

    2024年02月15日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包