Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/234.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
登录PHP和Mysql_Php_Mysql_Login - Fatal编程技术网

登录PHP和Mysql

登录PHP和Mysql,php,mysql,login,Php,Mysql,Login,好的,基本上我有一个login.php,它只包含这个表单和来自mysql数据库的连接:它连接到我的另一个文件login_success.php,它包含实现我的登录功能的代码主体 <?php include "header2.php"; session_start(); ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR

好的,基本上我有一个login.php,它只包含这个表单和来自mysql数据库的连接:它连接到我的另一个文件login_success.php,它包含实现我的登录功能的代码主体

 <?php  
    include "header2.php";
    session_start();
    ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Login</title>
    <style type="text/css">
    #title {
    height: 200px;
    width: 600px; 
    margin-top: 30px;
    margin-right: auto;
    margin-bottom: 10px;
    margin-left: auto;
    padding-top: 20px;
    padding-right: 20px;
    padding-bottom: 35px;
    padding-left: 20px;
    }
    strong {
    font-size: 28px;
    font-family: Georgia, "Times New Roman", Times, serif;
    font-weight: bolder;
    color: #31CAF5;
    }
    #username, #password {
    width: 80%;
    height: 25px;
    padding: 5px;
    color: #999;
    background-color: #FFF;
    border: thin solid #CCC;
    padding-top: 10px;

    }
    #login, #reset {
    width: 70px;
    height: 30px;
    }
    #error {
    height: 20px;
    color: #FFF;
    font-size: 14px;
    background-color: #FF3C3C;
    padding-top: 5px;
    padding-bottom: 5px;
    font-family: Verdana, Geneva, sans-serif;
    text-align: center;
    }
    </style>
    </head>
    <body>
    <div id="title"> <strong>User Login</strong><br />
    <hr noshade="noshade" />
    <?php
    include ('db_connect.php');
    ?>
    <form id="form1" name="form1" method="post" action="login_success.php">
    <table width="100%" border="0" cellpadding="5">
    <tr>
    <td width="16%"> <label for="username">Username</label></td>
    <td width="3%">:</td>
    <td width="81%"><input type="text" name="username" id="username" /></td>
    </tr>
    <tr>
    <td> <label for="password">Password</label></td>
    <td>:</td>
    <td><input type="password" name="password" id="password" /></td>
    </tr>
    <tr>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td> <input type="submit" name="login" id="login" value="Log In" />
    &nbsp;&nbsp;
    <input type="reset" name="reset" id="reset" value="Reset" /></td>
    </tr>
    </table>
    </form>
    </div>
    </body>
    </html>
    <?php
    //endif;
    include "footer.php" ?>

登录
#头衔{
高度:200px;
宽度:600px;
边缘顶部:30px;
右边距:自动;
边缘底部:10px;
左边距:自动;
填充顶部:20px;
右边填充:20px;
垫底:35px;
左侧填充:20px;
}
强壮的{
字号:28px;
字体系列:佐治亚州,“泰晤士报新罗马”,泰晤士报,衬线;
字体大小:粗体;
颜色:#31CAF5;
}
#用户名,#密码{
宽度:80%;
高度:25px;
填充物:5px;
颜色:#999;
背景色:#FFF;
边框:薄实线#CCC;
填充顶部:10px;
}
#登录,#重置{
宽度:70px;
高度:30px;
}
#错误{
高度:20px;
颜色:#FFF;
字体大小:14px;
背景色:#FF3C;
垫面:5px;
垫底:5px;
字体系列:Verdana,日内瓦,无衬线;
文本对齐:居中;
}
用户登录

这里的代码是我的文件登录成功。其思想是,当用户输入正确的登录凭据时,它会将其启动到会话loggedIn中。它被设计成允许在数据库上散列密码。但是,出于某种原因,即使不是保存在数据库中的登录凭据,也可以通过此操作查看任何详细信息

    <?php   
    session_start();
    //For cases where users are not logged in redirect back to login page.


        include "conn.php";
        include "header.php";

        $username = $_POST['username'];
        $password = $_POST['password'];
        $password = md5($password);

        //echo "password ".$password;
        //echo "username ".$username;

        $qry = "SELECT * FROM login WHERE username = '$username'";
        $userlogin = mysqli_query($_SESSION['conn'],$qry);
        $result = mysqli_fetch_array($userlogin);


        if (strcmp($result['password'], $password)==0) {
            $_SESSION["loggedIn"] = $username;
            $_SESSION["message"] = "Logged In Successfully.";
            header('Location: members.php');
        }
        else {
            $_SESSION["message"] = "Log In Failed";
            header('Location: login.php');
        }   



    if(!isset($_SESSION["loggedIn"])){
                    header("Location: index.php");
                    exit;
                }
        echo '<h1> Congratulations '.$_SESSION['loggedIn'].'</h1> <br> <h2>You successfully logged in!</h2><br>



             <h3><a href="logout.php">Logout</a> <a href="members.php">Continue</a></h3><br/><br/>';

    include ("footer.php");?>

试试这个。我认为strcmp功能是罪魁祸首

<?php 
if (strcmp($result['password'], $password)==0) {
            $_SESSION["loggedIn"] = $username;
            $_SESSION["message"] = "Logged In Successfully.";
            header('Location: members.php');
        }
        else {
            $_SESSION["message"] = "Log In Failed";
            header('Location: login.php');
        }  
?>

应该是

<?php 
if ($result == true) {
            $_SESSION["loggedIn"] = $result['username'];
            $_SESSION["message"] = "Logged In Successfully.";
            header('Location: members.php');
        }
        else {
            $_SESSION["message"] = "Log In Failed";
            header('Location: login.php');
        }  

?>


你的问题是什么?我不太确定你的问题是什么……对不起。我现在筋疲力尽,基本上我的英语很糟糕。使用这两个PHP文件,我的登录表单只允许任何凭证通过,并显示“登录成功”。但是,我已经在数据库中设置了用户帐户。i、 e.用户名+密码是应允许成功登录的唯一帐户。我的问题是,为什么会发生这种情况;你能展示一下这个的输出吗?我应该把这个放在哪里?