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 相关文章推荐
基于mysql的bbs设计(三)
Oct 09 PHP
php上传、管理照片示例
Oct 09 PHP
什么是MVC,好东西啊
May 03 PHP
ezSQL PHP数据库操作类库
May 16 PHP
php stripslashes和addslashes的区别
Feb 03 PHP
php操作redis中的hash和zset类型数据的方法和代码例子
Jul 05 PHP
ThinkPHP文件上传实例教程
Aug 22 PHP
php+mysql+jquery实现日历签到功能
Feb 27 PHP
php str_replace替换指定次数的方法详解
May 05 PHP
php+ajax实现无刷新文件上传功能(ajaxuploadfile)
Feb 11 PHP
php ZipArchive实现多文件打包下载实例
Oct 31 PHP
PHP常用字符串函数用法实例总结
Jun 04 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
使用php判断网页是否gzip压缩
2013/06/25 PHP
PHP获取数组中指定的一列实例
2017/12/27 PHP
详解PHP的抽象类和抽象方法以及接口总结
2019/03/15 PHP
tp5框架前台无限极导航菜单类实现方法分析
2020/03/29 PHP
prototype.js的Ajax对象
2006/09/23 Javascript
js prototype 格式化数字 By shawl.qiu
2007/04/02 Javascript
基于JavaScript实现继承机制之构造函数方法对象冒充的使用详解
2013/05/07 Javascript
jquery实现表格本地排序的方法
2015/03/11 Javascript
究竟什么是Node.js?Node.js有什么好处?
2015/05/29 Javascript
JavaScript中实现map功能代码分享
2015/06/11 Javascript
基于jquery实现页面滚动时顶部导航显示隐藏
2020/04/20 Javascript
封装好的javascript前端分页插件pagination
2016/01/04 Javascript
论JavaScript模块化编程
2016/03/07 Javascript
BootStrap Table后台分页时前台删除最后一页所有数据refresh刷新后无数据问题
2016/12/28 Javascript
JS作用域深度解析
2016/12/29 Javascript
vue+vuex+axio从后台获取数据存入vuex实现组件之间共享数据
2017/04/22 Javascript
React-Native左右联动List的示例代码
2017/09/21 Javascript
vue组件编写之todolist组件实例详解
2018/01/22 Javascript
Express本地测试HTTPS的示例代码
2018/06/06 Javascript
详解用场景去理解函数柯里化(入门篇)
2019/04/11 Javascript
Angular封装搜索框组件操作示例
2019/04/25 Javascript
jquery实现下载图片功能
2019/07/18 jQuery
JS实现简单日历特效
2020/01/03 Javascript
Vue循环中多个input绑定指定v-model实例
2020/08/31 Javascript
分享python数据统计的一些小技巧
2016/07/21 Python
Python使用re模块正则提取字符串中括号内的内容示例
2018/06/01 Python
对Pandas DataFrame缺失值的查找与填充示例讲解
2018/11/06 Python
Python 多维List创建的问题小结
2019/01/18 Python
店长岗位职责
2013/11/21 职场文书
求职自荐信格式
2013/12/04 职场文书
小学生新学期寄语
2014/01/19 职场文书
同事打架检讨书
2014/02/04 职场文书
自我推荐信怎么写
2015/03/24 职场文书
2015年企业员工工作总结范文
2015/05/21 职场文书
Go缓冲channel和非缓冲channel的区别说明
2021/04/25 Golang
mysql使用FIND_IN_SET和group_concat两个方法查询上下级机构
2022/04/20 MySQL