繁体   English   中英

登录表格和注册PHP

[英]Login form and registration PHP

我最近开始处理表单验证和登录/注册。 但是,我有一个问题,当我用现有的用户名和密码单击登录按钮时,我想转移到同一页面(登录页面)或带有消息“您已成功登录”的起始页面。 我不知道该怎么做。 除其他外,我有两个php文件login.php

 if (loggedin()) {
        $firstname = getuserfield('firstname');
        $surname = getuserfield('surname');
        echo 'You\'re logged in, '.$firstname.' '.$surname.'. <a href="logout.php">Log       out </a><br>';
    } else {
    include 'loginform.inc.php';

    }

loginform.inc.php

if (isset($_POST['username'])&&isset($_POST['password'])) {
    $username = $_POST['username'];
    $password = $_POST['password'];

    $password_hash = md5($password);
    if (!empty($username)&&!empty($password)) {
        $query = "SELECT `id` FROM `users` WHERE `username`='".mysql_real_escape_string($username)."' AND `password`='".mysql_real_escape_string($password_hash)."'";
        if ($query_run = mysql_query($query)) {
            $query_num_rows = mysql_num_rows($query_run);
            if ($query_num_rows==0) {
            ?> <div id = "a5"> <?php echo 'No such combination of username and password' ?> </div>; <?php
            } else if ($query_num_rows==1){
            $user_id = mysql_result($query_run, 0, 'id');
            $_SESSION['user_id']=$user_id;

            header('Location: login.php');
            }
            }
    } else {
?> <div id="a"> <?php echo 'Please enter username and password!' ?> </div>

我会使用一些更高级的登录名。 我使用的登录表单非常完美,易于理解和使用。 访问此登录表单以获取我使用的登录名。 如果您愿意,也很容易转换为OO。

方法1

您可以像这样成功登录login.php来包含loginform.inc.php

if (loggedin()) {
        $firstname = getuserfield('firstname');
        $surname = getuserfield('surname');
        echo 'You\'re logged in, '.$firstname.' '.$surname.'. <a href="logout.php">Log       out </a><br>';
         include 'loginform.inc.php'; // include here after successfully login
    } else {
    include 'loginform.inc.php';

    }

方法2

您可以将成功消息存储在SESSION变量中,并在loginform.inc.php上传输标头。 然后可以在loginform.inc.php页面上打印会话。

login.php:

session_start();
 if (loggedin()) {
            $firstname = getuserfield('firstname');
            $surname = getuserfield('surname');
            $_SESSION['msg_text'] = 'You\'re logged in, '.$firstname.' '.$surname.'. <a href="logout.php">Log       out </a><br>'; // set a session variable

               header("location:loginform.inc.php"); // transfer header on the loginform.inc.php page
               exit;

        } else {
        include 'loginform.inc.php';

        }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM