PHP實(shí)現(xiàn)簡單注冊登錄系統(tǒng)
本文實(shí)例為大家分享了PHP實(shí)現(xiàn)簡單注冊登錄系統(tǒng)的具體代碼,供大家參考,具體內(nèi)容如下
目錄結(jié)構(gòu)如下,其中function文件夾下包含兩個(gè)函數(shù)文件,uploads文件夾用于存放上傳的文件。

注:博主使用的是php5,使用php7的小伙伴運(yùn)行報(bào)錯(cuò)的話有一部分原因是新的語法造成的,修改成新語法就可以了
html頁面
登錄頁面
index.html
<form action="login_process.php" method="POST"> 登錄 <input type="text" name="userName" size="20" maxlength="15" placeholder="請?zhí)顚懹脩裘坝蛎?> <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>用戶注冊登錄系統(tǒng)</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> 確認(rèn)密碼: <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> 個(gè)人愛好: <input name="interests[]" type="checkbox" value="music">音樂 <input name="interests[]" type="checkbox" value="game">游戲 <input name="interests[]" type="checkbox" value="film">電影 <br> 個(gè)人相片 <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="請?zhí)顚憘渥⑿畔?></textarea> <br> <input type="submit" name="submit" value="注冊"> <input type="reset" name="cancel" value="重填"> </form>
功能實(shí)現(xiàn)文件
實(shí)現(xiàn)登錄功能
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();
?>
實(shí)現(xiàn)注冊功能
register.php
<?php
include_once("function/fileSystem.php");
include_once("function/database.php");
if (empty($_POST)) {
exit("您提交的表單數(shù)據(jù)超過post_max_size! <br>");
}
// 判斷輸入密碼與確認(rèn)密碼是否相同
$password = $_POST['password'];
$confirmPassword = $_POST['confirmPassword'];
if ($password != $confirmPassword) {
exit("輸入的密碼與確認(rèn)密碼不相等!");
}
$userName = $_POST['userName'];
$domain = $_POST['domain'];
$userName = $userName . $domain;
// 判斷用戶名是否重復(fù)
$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();
函數(shù)文件(function文件夾)
實(shí)現(xiàn)數(shù)據(jù)庫連接與關(guān)閉的函數(shù)
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());
}
}
?>
實(shí)現(xiàn)文件上傳的函數(shù)
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 "沒有上傳";
}
}
?>
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
php+AJAX傳送中文會(huì)導(dǎo)致亂碼的問題的解決方法
關(guān)于在AJAX中GET回的ResponseText中文亂碼的最簡解決辦法2008-09-09
php的命名空間與自動(dòng)加載實(shí)現(xiàn)方法
這篇文章主要給大家介紹了關(guān)于php的命名空間與自動(dòng)加載實(shí)現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用php具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2019-08-08
php 備份數(shù)據(jù)庫代碼(生成word,excel,json,xml,sql)
本篇文章是對php備份數(shù)據(jù)庫代碼(生成word,excel,json,xml,sql)進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-06-06
PHP按指定鍵值對二維數(shù)組進(jìn)行排序的方法
這篇文章主要介紹了PHP按指定鍵值對二維數(shù)組進(jìn)行排序的方法,涉及PHP二維數(shù)組的遍歷及array_multisort函數(shù)的使用技巧,需要的朋友可以參考下2015-12-12
淺析php-fpm靜態(tài)和動(dòng)態(tài)執(zhí)行方式的比較
這篇文章主要介紹了php-fpm靜態(tài)和動(dòng)態(tài)執(zhí)行方式的比較,較為詳細(xì)的分析了php-fpm靜態(tài)和動(dòng)態(tài)執(zhí)行方式的原理、參數(shù)功能與相關(guān)使用技巧,需要的朋友可以參考下2016-11-11
PHP使用Mysqli類庫實(shí)現(xiàn)完美分頁效果的方法
這篇文章主要介紹了PHP使用Mysqli類庫實(shí)現(xiàn)完美分頁效果的方法,結(jié)合實(shí)例形式分析了PHP使用Mysqli類庫的相關(guān)配置文件設(shè)置,數(shù)據(jù)庫操作及分頁的相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下2016-04-04
PHP curl CURLOPT_RETURNTRANSFER參數(shù)的作用使用實(shí)例
這篇文章主要介紹了PHP curl CURLOPT_RETURNTRANSFER參數(shù)的作用使用實(shí)例,CURLOPT_RETURNTRANSFER參數(shù)的作用是把CRUL獲取的內(nèi)容賦值到變量,需要的朋友可以參考下2015-02-02

