PHP+MySQL實現使用者登入註冊API介面
最近在學習PHP後臺相關知識,利用PHP連線MySQL資料庫實現了一個簡單的使用者登入註冊及修改密碼的API介面,介面為標準的json輸出,本地驗證通過。功能比較簡單,不過也自己摸索了挺長時間,期間各種百度解決了各種不懂。資料庫只有name、psd和tel三個欄位,介面均設計為POST方式提交。程式碼基本都有註釋比較好理解,下面附上程式碼。
<?php
$mysql_server_name="localhost"; //資料庫伺服器名稱
$mysql_username="root"; // 連線資料庫使用者名稱
$mysql_password="326699"; // 連線資料庫密碼
$mysql_database="hello"; // 資料庫的名字
// 連線到資料庫
$conn=mysql_connect($mysql_server_name, $mysql_username,
$mysql_password);
if(!$conn) {
echo "資料庫連線失敗!".mysql_error;
}
mysql_select_db($mysql_database, $conn);
//獲取url引數
$action = isset($_POST['action']) ? $_POST['action'] : '';
$name = isset($_POST['name']) ? $_POST['name'] : '';
$psd = isset($_POST['psd']) ? $_POST['psd'] : '';
if($action=='login') {
login($name, $psd, true);
} else if($action=='register') {
register($name, $psd);
} else if($action=='modifyPsd') {
modifyPsd($name, $psd);
} else if($action=='showAll') {
showAll();
} else {
$result = array("result"=>"error_request");
$json = json_encode($result);
echo $json;
}
close_conn();
/*使用者登入*/
function login($name, $psd, $normal) {
global $conn;
if($conn) {
$result = mysql_query("select name,psd from student");
$success = false;
while($row = mysql_fetch_array($result)) {
if($name == $row['name'] && $psd == $row['psd']) {
$success = true;
}
}
if($normal) {
$login_result = array('login_result'=>$success);
$json = json_encode($login_result);
echo $json;
}
}
return $success;
}
/*使用者註冊*/
function register($name, $psd) {
$tel = $_POST['tel'];
global $conn;
if($conn) {
//資料庫查詢
$result = mysql_query("select name from student");
$exist = false;
while($row = mysql_fetch_array($result)) {
if($name == $row['name']) {
//註冊失敗,使用者名稱已存在;
$exist = true;
$register_result = array("register_result"=>false,"error_code"=>0);
$json = json_encode($register_result);
echo $json;
}
}
//插入資料庫
if(!$exist) {
$id = mysql_num_rows($result) + 1;
$success = mysql_query("insert into student values('$id', '$name', '$tel', '$psd')");
if($success) {
//註冊成功
$register_result = array("register_result"=>$success);
$json = json_encode($register_result);
echo $json;
} else {
//註冊失敗,資料庫插入錯誤
$register_result = array("register_result"=>$success,"error_code"=>1);
$json = json_encode($register_result);
echo $json;
}
}
}
}
/*修改登入密碼*/
function modifyPsd($name, $psd) {
$newpsd = $_POST['newpsd'];
global $conn;
if($conn) {
//使用者登入
$login_result = login($name, $psd, false);
//修改密碼
if($login_result) {
$success = mysql_query("update student set psd='$newpsd' where name='$name'");
if($success) {
//修改成功
$modify_result = array("modify_result"=>$success);
$json = json_encode($modify_result);
echo $json;
} else {
//修改失敗,資料庫錯誤
$modify_result = array("modify_result"=>$success,"error_code"=>1);
$json = json_encode($modify_result);
echo $json;
}
} else {
//修改失敗,登入失敗
$modify_result = array("modify_result"=>false,"error_code"=>2);
$json = json_encode($modify_result);
echo $json;
}
}
}
//顯示所有使用者
function showAll() {
global $conn;
if($conn) {
$result = mysql_query("select * from student");
$success = false;
$array_data = array();
$total = mysql_num_rows($result);
//$data = array("total"=>$total,"datas"=>array(array("data"=>"123","name"=>"zhugeheng"),
// array("data"=>"456","name"=>"zhaodanni")
// ));
while($row = mysql_fetch_array($result)) {
$array_temp = array("name"=>$row['name'], "tel"=>$row['tel']);
array_push($array_data, $array_temp);
}
$data = array("total"=>$total,"datas"=>$array_data, "result"=>true);
$json = json_encode($data);
echo $json;
}
}
//關閉連線
function close_conn() {
global $conn;
mysql_close($conn);
}
?>
尊重原創,轉載請註明出處:http://blog.csdn.net/zhugehengheng/article/details/44645287
相關文章
- Laravel 實現 passport 使用者註冊登入LaravelPassport
- swing 實現使用者登入註冊介面(不使用資料庫)資料庫
- 使用者註冊/登入模組實踐
- laravel使用者登入註冊Laravel
- node+ajax+mysql實現登入註冊MySql
- 02-個人部落格筆記-登入註冊介面的實現筆記
- Struts2+AJAX+JQuery 實現使用者登入與註冊功能。jQuery
- Laravel5.8 入門系列二,快速實現使用者註冊登入功能Laravel
- express+vue+mongodb+session 實現註冊登入ExpressVueMongoDBSession
- 實現註冊登入你真的會了嗎
- Luffy /4/ 多方式登入介面&登入註冊前端頁面前端
- 使用Forms Authentication實現使用者註冊、登入 (一)基礎知識ORM
- Java實現--登入和註冊案例(把使用者資訊存進集合)Java
- Springboot+Vue實現線上聊天室專案-登入、註冊介面的實現Spring BootVue
- node+express+mongDB實現簡單登入註冊Express
- Spartacus 註冊和登入頁面的實現細節
- 10.註冊和登入功能實現(3)—— 註冊資料寫入資料庫資料庫
- SSM 重構註冊登陸介面SSM
- 簡單登入註冊實現(Java物件導向複習)Java物件
- 基於以太坊上實現DApp的登入註冊APP
- 用mvp模式實現登入註冊的統一校驗MVP模式
- Node.js+Mysql+Vue+ElementUI 實現登入註冊登出功能Node.jsMySqlVueUI
- Django2 Web 實戰02-使用者註冊登入退出DjangoWeb
- 簡單實現登陸註冊gui介面以及打包成exe檔案GUI
- 登入介面:從資料庫中獲取資訊驗證登入(與註冊介面相聯絡)資料庫
- javaWeb登入註冊頁面JavaWeb
- 個人作業登入+註冊
- HTML基礎實現簡單的註冊和登入頁面HTML
- Vue.js + element-ui + express + mongoDB 實現註冊登入功能Vue.jsUIExpressMongoDB
- 小程式開發:python sanic 實現小程式登入註冊Python
- 使用者登陸註冊【JDBC版】JDBC
- 現在,ChatGPT不註冊登入也能免費用了ChatGPT
- React & Redux 實現註冊登入認證系統(31 個視訊)ReactRedux
- js登入與註冊驗證JS
- 使用redis完成註冊和登入Redis
- APP「登入註冊模組」詳解APP
- "留拍"-註冊/登入詳解
- 網站實現一個全域性的方法,實現導航欄顯示登陸註冊按鈕或者登入使用者的資訊網站