php實現簡單的使用者註冊,登入,修改個人資訊介面
阿新 • • 發佈:2019-02-09
1. 連線資料庫
資料庫名為eating, user表用於存放使用者的資訊
//connect_mysql.php <?php header("Content-type:text/html;charset=utf-8"); //定義編碼和頁面 header("Access-Control-Allow-Origin: *"); //跨域問題 session_start(); //開啟會話 $host = 'localhost'; //主機地址 //$host = '118.89.25.120'; $database = 'eating'; //資料庫名 $username = 'root'; //資料庫的使用者名稱 $password = '123456'; //資料庫的密碼 /* 連線資料庫 */ $link = mysqli_connect($host, $username, $password); mysqli_select_db($link, "eating"); mysqli_query($link,"set names 'utf8'");//編碼轉化 if (!$link) { die("could not connect to the database.\n" . mysqli_error($link));//診斷連線錯誤 } ?>
2. 使用者登入
php實現使用者登入,使用者名稱為電話號碼, php後臺接受並解析前端通過http的post方法傳送的json資料, 判斷使用者是否存在,
若不存在則返回-1, 若使用者存在,則檢驗使用者名稱和密碼是否一致, 若一致則返回1, 若密碼錯誤則返回-2.
//login.php <?php header("Content-type:text/html;charset=utf-8"); header("Access-Control-Allow-Origin: *"); //跨域 session_start(); if(isset($_POST["button"]) && $_POST["button"] == "登入") { $tel = $_POST["tel"]; //使用者電話號碼 $password = $_POST["password"]; //使用者密碼 //include ("connect_mysql.php"); require_once('connect_mysql.php'); //判斷使用者是否存在 $sql = "SELECT * FROM user WHERE user_tel = '$_POST[tel]';"; $result = mysqli_query($link, $sql); //執行sql語句,返回查詢後的結果集 $rows = mysqli_num_rows($result); //返回結果集中行的數量 if ($rows == 0) { //使用者不存在 $json_arr = array('success' => -1); } else { $sql = "SELECT password FROM user WHERE password = '$_POST[password]' AND user_tel = '$_POST[tel]'"; $result = mysqli_query($link, $sql); $rows = mysqli_num_rows($result); if ($rows == 1) { //密碼正確 $json_arr = array('success' => 1); $_SESSION["is_login"] = "true"; $_SESSION["tel"] = $tel; $_SESSION["password"] = $password; } else { //密碼錯誤 $json_arr = array('success' => -2); } } $login_json = json_encode($json_arr, TRUE); //轉化為json資料 echo $login_json;//傳送json資料 }
3. 使用者註冊
使用者註冊帳號時使用手機號註冊,php後臺首先檢查使用者提交的資訊是否完整,若不完整則返回0;接著檢驗
使用者的手機號是否已被註冊,0若手機號已經被註冊,則向前端返回-1;若手機號沒有被註冊,則檢驗使用者兩次輸
入的密碼是否一致,若一致,則註冊成功,向前端返回1,若不一致返回-2;否則返回-3.
// register.php <?php header("Access-Control-Allow-Origin: *"); session_start(); if(isset($_POST["submit"]) && $_POST["submit"] == "馬上註冊") { $tel = $_POST["tel"]; $password = $_POST["password"]; $password_conf = $_POST["confirm"]; $hometown = $_POST["hometown"]; $tasty = $_POST["tasty"]; $type_of_cooking = $_POST["type_of_cooking"]; if($tel == "" || $password == "" || $password == "" || $password_conf == "" || $hometown == "" || $tasty == "" || $type_of_cooking == "") { //使用者資訊不完整 $json_arr = array('success' => 0); } else { if($password == $password_conf) { include "connect_mysql.php"; //require_once('connect_mysql.php'); $sql = "select tel from user where tel = '$_POST[tel]'"; //SQL語句 $result = mysqli_query($link, $sql); //執行SQL語句 $num = mysqli_num_rows($result); //統計執行結果影響的行數 if($num) { //如果已經存在該使用者 $json_arr = array('success' => -1); } else { //不存在當前註冊使用者名稱稱 $sql_insert = "insert into user (user_tel, password, hometown, tasty, type_of_cooking) values('$_POST[tel]', '$_POST[password]', '$_POST[hometown]','$_POST[tasty]', '$_POST[type_of_cooking]')"; $res_insert = mysqli_query($link, $sql_insert); //$num_insert = mysql_num_rows($res_insert); if($res_insert) { //註冊成功 $json_arr = array('success' => 1); } else { //系統忙碌,請稍後重試 $json_arr = array('success' => -3); } } } else { //密碼不一致 $json_arr = array('success' => -2); } } $register_json = json_encode($json_arr, TRUE); echo $register_json; } ?>
4. 修改使用者資訊
//alter_info.php
<?php
header("Content-type:text/html;charset=utf-8");
header("Access-Control-Allow-Origin: *");
session_start();
if (isset($_POST["submit"]) && $_POST["submit"] == "確認修改") {
include "connect_mysql.php";
//require_once('connect_mysql.php');
$tel = $_POST['tel'];
$new_hometown = $_POST['new_hometown']; //家鄉
$new_tasty = $_POST['new_tasty']; //口味
$new_type_of_cooking = $_POST['new_type_of_cooking']; // 品類(幹/湯)
$sql = "UPDATE user SET hometown = '$new_hometown', tasty = '$new_tasty', type_of_cooking = '$new_type_of_cooking'
WHERE user_tel = '$_POST[tel]';";
$result = mysqli_query($link, $sql);
if ($result) { //修改資訊成功
$json_arr = array('success' => 1);
}
else { //修改資訊失敗
$json_arr = array('success' => 0);
}
$login_json = json_encode($json_arr);
echo $login_json;
}
5. 修改密碼
//alter_password.php
<?php
header("Content-type:text/html;charset=utf-8");
header("Access-Control-Allow-Origin: *");
session_start();
if (isset($_POST["submit"]) && $_POST["submit"] == "修改密碼") {
//include "connect_mysql.php";
require_once('connect_mysql.php');
$tel = $_POST['tel'];
$old_password = $_POST['old_password'];
$sql = "SELECT password, user_tel FROM user WHERE password = '$old_password' AND user_tel = '$tel';";
$result = mysqli_query($link, $sql);
$row = mysqli_num_rows($result);
if ($row == 1) {
$new_password = $_POST['new_password'];
$new_password_conf = $_POST['new_password_conf'];
if ($new_password == $new_password_conf) {
$sql = "UPDATE user SET password = '$new_password' WHERE user_tel = '$tel';";
$result = mysqli_query($link, $sql);
if ($result) { //密碼修改成功
$arr = array('success' => 1);
}
}
}
else { // 密碼修改失敗
$arr['success'] = 0;
}
$json_arr = json_encode($arr, TRUE);
echo $json_arr;
}