PHP实现简单注册登录系统


Posted in PHP onDecember 28, 2020

本文实例为大家分享了PHP实现简单注册登录系统的具体代码,供大家参考,具体内容如下

目录结构如下,其中function文件夹下包含两个函数文件,uploads文件夹用于存放上传的文件。

PHP实现简单注册登录系统

注:博主使用的是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="@163.com" selected>163.com</option>
 <option value="@126.com">126.com</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

<?php
 include_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

<?php
 include_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

<?php
 function 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模板,主要想体现一下思路
Dec 25 PHP
php foreach 参数强制类型转换的问题
Dec 10 PHP
fleaphp常用方法分页之Pager使用方法
Apr 23 PHP
PHP+jQuery实现自动补全功能源码
May 15 PHP
如何使用php输出时间格式
Aug 31 PHP
ThinkPHP中自定义错误页面和提示页面实例
Nov 22 PHP
PHPWind9.0手动屏蔽验证码解决后台关闭验证码但是依然显示的问题
Aug 12 PHP
php5.2的curl-bug 服务器被php进程卡死问题排查
Sep 19 PHP
Zend Framework入门教程之Zend_View组件用法示例
Dec 09 PHP
PHP缩略图生成和图片水印制作
Jan 07 PHP
laravel实现分页样式替换示例代码(增加首、尾页)
Sep 22 PHP
php制作圆形用户头像的实例_自定义封装类源代码
Sep 18 PHP
php的lavarel框架中join和orWhere的用法
Dec 28 #PHP
php中yar框架实例用法讲解
Dec 27 #PHP
php中数组最简单的使用方法
Dec 27 #PHP
用Laravel轻松处理千万级数据的方法实现
Dec 25 #PHP
PHP操作Redis常用命令的实例详解
Dec 23 #PHP
php中yii框架实例用法
Dec 22 #PHP
php swoft框架实例用法
Dec 22 #PHP
You might like
乐信RP2100的电路分析和打磨
2021/03/02 无线电
php 数组的指针操作实现代码
2011/02/08 PHP
php学习笔记之 函数声明
2011/06/09 PHP
比较详细PHP生成静态页面教程
2012/01/10 PHP
解析php中heredoc的使用方法
2013/06/17 PHP
ci检测是ajax还是页面post提交数据的方法
2014/11/10 PHP
PHP开发之归档格式phar文件概念与用法详解【创建,使用,解包还原提取】
2017/11/17 PHP
jquery 的 $(&quot;#id&quot;).html() 无内容的解决方法
2010/06/07 Javascript
document.getElementById的简写方式(获取id对象的简略写法)
2010/09/10 Javascript
使用JQuery库提供的扩展功能实现自定义方法
2014/09/09 Javascript
js使用onmousemove和onmouseout获取鼠标坐标的方法
2015/03/31 Javascript
javascript实现验证IP地址等相关信息代码
2015/05/10 Javascript
Jquery 分页插件之Jquery Pagination
2015/08/25 Javascript
javascript中利用柯里化函数实现bind方法
2016/04/29 Javascript
JavaScript实现使用Canvas绘制图形的基本教程
2016/10/27 Javascript
Angular.JS中指令ng-if、ng-show/ng-hide和ng-switch的使用教程
2017/05/07 Javascript
Vue-Cli 3.0 中配置高德地图的两种方式
2019/06/19 Javascript
详解vue为什么要求组件模板只能有一个根元素
2019/07/22 Javascript
vue3.0中使用postcss-pxtorem的具体方法
2019/11/20 Javascript
[20:21]《一刀刀一天》第十六期:TI国际邀请赛正式打响,总奖金超过550万
2014/05/23 DOTA
Flask的图形化管理界面搭建框架Flask-Admin的使用教程
2016/06/13 Python
python爬虫系列Selenium定向爬取虎扑篮球图片详解
2017/11/15 Python
numpy.random.seed()的使用实例解析
2018/02/03 Python
Python单元测试unittest的具体使用示例
2018/12/17 Python
对python中的*args与**kwgs的含义与作用详解
2019/08/28 Python
pymysql 开启调试模式的实现
2019/09/24 Python
Python 随机生成测试数据的模块:faker基本使用方法详解
2020/04/09 Python
Anaconda的安装与虚拟环境建立
2020/11/18 Python
全面解析CSS Media媒体查询使用操作(推荐)
2017/08/15 HTML / CSS
微软俄罗斯官方网站:Microsoft俄罗斯
2016/09/18 全球购物
导游词范文
2015/02/13 职场文书
2016继续教育培训学习心得体会
2016/01/19 职场文书
什么是检讨书?检讨书的格式及范文
2019/11/05 职场文书
Python WSGI 规范简介
2021/04/11 Python
十大最强电系宝可梦,阿尔宙斯电系之一,第七被称为雷神
2022/03/18 日漫
python和anaconda的区别
2022/05/06 Python