簡體   English   中英

如何將登錄過程分解為功能?

[英]How can I split my Login process into functions?

我當前使用的是在網上找到的登錄腳本的修改版本。 有人可以建議一些將代碼模塊化為功能的方法嗎?

這是登錄頁面的代碼:

<?php
include("db.php");
include("login_fns.php");
session_start();
if($_SERVER["REQUEST_METHOD"] == "POST")
{
// username and password sent from Form
$username=mysql_real_escape_string($_POST['username']); 
$password=mysql_real_escape_string($_POST['password']); 
$password=md5($password);
$sql="SELECT * FROM client_login WHERE Username='$username' and Password='$password'";
$result=mysql_query($sql);
$count=mysql_num_rows($result);
$row = mysql_fetch_array($result);
$client_ref = $row['Client_ref'];
$user_level = $row['user_level'];
// If result matched $username and $password, table row must be 1 row
if($count==1)
{

$_SESSION['user_level'] = $user_level;
$_SESSION['client_ref'] = $client_ref;
$_SESSION['user'] = $username;

if ($user_level == '1') {
header('Location: admin.php');
} else {

header('Location: myaccount.php');
}
}
else 
{
echo "Error logging in!";
}
}
?>
<form action="login.php" method="post">
<label>UserName :</label>
<input type="text" name="username"/><br />
<label>Password :</label>
<input type="password" name="password"/><br/>
<input type="submit" value=" Login "/><br />
</form>

理想情況下,我想要一個用於用戶帳戶搜索和會話設置的功能。 我以前曾嘗試將此代碼段復制到一個單獨的php函數文件中,但是似乎沒有用。

你怎么看待這件事? :)

功能

<?php
function checkLogin($username, $password) {
    global $bd;

    $returnArray=array();
    $username=mysqli_real_escape_string($bd, $username);
    $password=md5($password);

    $getUser=mysqli_query($bd, "SELECT `Client_ref`,`user_level` FROM client_login WHERE Username='$username' and Password='$password'");
    $arrayUser=mysqli_fetch_array($getUser);

    if(mysqli_num_rows($getUser) == 0)
    {
        $returnArray['error']='true';
        $returnArray['errormsg']='User not found in the database.';

        return $returnArray;
    }

    $returnArray['Client_ref']=$row['Client_ref'];
    $returnArray['user_level']=$row['user_level'];

    return $returnArray;
}
?>

其余代碼

<?php
include("db.php");
include("login_fns.php");
session_start();

if($_SERVER["REQUEST_METHOD"] == "POST")
{
    $username=$_POST['username']; 
    $password=$_POST['password']; 

    $loginArray=checkLogin($username, $password);

    if(!isset($loginArray['error']))
    {
        $_SESSION['user_level'] = $loginArray['Client_ref'];
        $_SESSION['client_ref'] = $loginArray['user_level'];
        $_SESSION['user'] = $username;

        if($loginArray['user_level'] == '1')
        {
            header('Location: admin.php');
        }
        else
        {
            header('Location: myaccount.php');
        }
    }
    else 
    {
        echo "Error logging in!";
        echo "The detailed error message is: ".$returnArray['errormsg'];
    }
}
?>
<form action="login.php" method="post">
    <label>UserName :</label>
    <input type="text" name="username"/><br />

    <label>Password :</label>
    <input type="password" name="password"/><br/>

    <input type="submit" value=" Login "/><br />
</form>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM