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 中执行排序与 MySQL 中排序
Apr 21 PHP
php HtmlReplace输入过滤安全函数
Jul 03 PHP
深入了解 register_globals (附register_globals=off 网站打不开的解决方法)
Jun 27 PHP
php格式化时间戳显示友好的时间实现思路及代码
Oct 23 PHP
php rsa加密解密使用详解
Jan 14 PHP
PHP读取大文件的多种方法介绍
Apr 04 PHP
10个对初学者非常有用的PHP技巧
Apr 06 PHP
PHP使用反射机制实现查找类和方法的所在位置
Apr 22 PHP
Yii2框架RESTful API 格式化响应,授权认证和速率限制三部分详解
Nov 10 PHP
php处理多图上传压缩代码功能
Jun 13 PHP
php中file_get_contents()函数用法实例
Feb 21 PHP
PHP sdk实现在线打包代码示例
Dec 09 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 采集心得技巧
2009/05/15 PHP
fleaphp crud操作之find函数的使用方法
2011/04/23 PHP
探讨:使用XMLSerialize 序列化与反序列化
2013/06/08 PHP
php实例分享之html转为rtf格式
2014/06/02 PHP
PHP中使用curl伪造IP的简单方法
2015/08/07 PHP
PHP的Socket网络编程入门指引
2015/08/11 PHP
日期函数扩展类Ver0.1.1
2006/09/07 Javascript
用jquery实现学校的校历(asp.net+jquery ui 1.72)
2010/01/01 Javascript
基于jQuery的输入框在光标位置插入内容, 并选中
2011/10/29 Javascript
JS倒计时代码汇总
2014/11/25 Javascript
javascript中return,return true,return false三者的用法及区别
2015/11/17 Javascript
jQuery获取与设置iframe高度的方法
2016/08/01 Javascript
js实现对table的增加行和删除行的操作方法
2016/10/13 Javascript
EditPlus中的正则表达式 实战(2)
2016/12/15 Javascript
详解如何在Node.js的httpServer中接收前端发送的arraybuffer数据
2018/11/11 Javascript
nodejs实现日志读取、日志查找及日志刷新的方法分析
2019/05/20 NodeJs
JS为什么说async/await是generator的语法糖详解
2019/07/11 Javascript
jQuery Ajax async=&gt;false异步改为同步时,解决导致浏览器假死的问题
2019/07/22 jQuery
[01:03:50]DOTA2-DPC中国联赛 正赛 CDEC vs DLG BO3 第二场 2月7日
2021/03/11 DOTA
pycharm远程调试openstack代码
2017/11/21 Python
pandas多级分组实现排序的方法
2018/04/20 Python
Anaconda2下实现Python2.7和Python3.5的共存方法
2018/06/11 Python
Python import与from import使用及区别介绍
2018/09/06 Python
pycham查看程序执行的时间方法
2018/11/29 Python
python制作填词游戏步骤详解
2019/05/05 Python
Python tkinter之Bind(绑定事件)的使用示例
2021/02/05 Python
GoPro摄像机美国官网:美国运动相机厂商
2018/07/03 全球购物
采用怎样的方法保证数据的完整性
2013/12/02 面试题
关于毕业的广播稿
2014/01/10 职场文书
股东协议书
2014/04/14 职场文书
人力资源管理系自荐信
2014/05/31 职场文书
2014领导干部学习焦裕禄同志先进事迹思想汇报
2014/09/19 职场文书
一年级小学生评语大全
2014/12/25 职场文书
中英文求职信范文
2015/03/19 职场文书
同事去世追悼词
2015/06/23 职场文书
详解CSS不定宽溢出文本适配滚动
2021/05/24 HTML / CSS