仲裁调解不成功下一步程序:登录下一步怎么做(next step login)

我正在学习 MySQL 和 PHP,我试图建立一个简单的登录网页并与 MySQL 连接。我已经使用 HTML 和 CSS 构建了页面,我也下载了 PHP 并安装了 MySQL,我对如何结合这些东西感到困惑,当我输入密码和用户名时,它会转到成功页面。

我不寻求答案,但需要下一步的一些建议。

0

请注意-我的 SQL 查询在这里写的方式是开放的 SQL 注入(see here to get the changes you would need to make

所以开始。你想创建一个数据库表来存储你的用户,一个表单来创建用户,以及一些代码来将数据查询到数据库中。

我会从这样的形式开始:

<form metd="post" cl="mt-3">
<input type="hidden" name="do" value="create" />
                <div cl="form-group">
                    <label for="itemName">First Name</label>
                    <input type="text" cl="form-control" name="firstName">
                </div>
                <div cl="form-group">
                    <label for="serialNumber">Last Name</label>
                    <input type="text" cl="form-control" name="lastName">
                </div>
                <div cl="form-group">
                    <label for="serialNumber">Username</label>
                    <input type="text" cl="form-control" name="userName">
                </div>
                <div cl="form-group">
                    <label for="serialNumber">Pword</label>
                    <input type="pword" cl="form-control" name="pWord">
                </div>
                <a id="create-member" cl="btn btn-success text-white">Submit</a>
            </form>

然后你想要一些代码,将你在该表单中的值,并将它们变成一个查询,以将该信息添加到你的表中。

if(isset($_POST['do'])) && $_POST['do'] == 'create' 
{
    $firstName = $_POST['firstName'];
    $lastName = $_POST['lastName'];
    $username = $_POST['userName'];
    $pword = pword_hash($_POST['pWord'], PASSWORD_BCRYPT);
        $sql = "INSERT INTO members (first_name, last_name, username, pword) VALUES ('".$firstName."', '".$lastName."', '".$username."', '".$pword."')";
        mysqli_query($conn, $sql); //$conn is set in my header file and included into every page.
}

这几乎是创建用户并将其添加到您的表中的过程,显然您必须将其分解并将值更改为表中的值等。

接下来是验证登录的情况。

首先,登录表单:

<form metd="post">
        <input type="hidden" name="do" value="login" />
        <div cl="form-group">
            <label for="usename">Username</label>
            <input type="text" cl="form-control" id="username" name="username">
        </div>
        <div cl="form-group">
            <label for="pword">Pword</label>
            <input type="pword" cl="form-control" id="pword" name="pword">
        </div>
        <on type="submit" cl="btn btn-primary">Login</on>
    </form>

然后进行身份验证查询,这将获取登录页面中的信息,对您输入的密码进行哈希处理,然后将其与数据库中的密码进行比较。

if (isset($_POST['do']) && $_POST['do'] == 'login')
{
        $username = $_POST['username'];
        $pword = $_POST['pword'];
        $sql = "SELECT id, first_name, last_name, pword FROM members WHERE username= '$username'";
        $query = mysqli_query($conn, $sql) or die(mysqli_error($conn));
        if($query->num_rows == 0)
        {
            ec "Username or pword incorrect";
        }else{
            $data = mysqli_fetch_array($query);
            if(!pword_verify($pword, $data['pword']))
            {
                ec "Username or pword incorrect";
            }else{
            session_regenerate_id();
            $_SESSION['loggedin'] = true;
            $_SESSION['username'] = $_POST['username'];
            $_SESSION['member_id'] = $data['id'];
            $_SESSION['first_name'] = $data['first_name'];
            $_SESSION['last_name'] = $data['last_name'];
            }
        }
    }
}
?>

不要害怕底部的 $_SESSION 变量,我只是设置所有用户数据,以便更容易在其他页面问它,然后我只是跟随一个标题到我的 index.php 页面。在我的标题中,我还检查 $_SESSION ['loggedin'] 设置为 true,如果不是,它将它们重定向到登录页面(也要注意用户可能在登录页面上重定向)

这是我在这个网站上的第一个详细答案,所以我希望它能帮助你:)

本站系公益性非盈利分享网址,本文来自用户投稿,不代表边看边学立场,如若转载,请注明出处

(171)
无机晶体数据库:寻找 Intergy数据库的数据库模式
上一篇
E tui:Python TUI库
下一篇

相关推荐

发表评论

登录 后才能评论

评论列表(59条)