Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/294.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/64.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-简单登录-看不到数据库 登录_Php_Mysql - Fatal编程技术网

PHP-简单登录-看不到数据库 登录

PHP-简单登录-看不到数据库 登录,php,mysql,Php,Mysql,我在PHP5.5中使用phpMyAdmin。我的数据库名是aid,表名是users。表单在那里,数据库和表格在那里,但它在提交时直接进入目标页面,而不检查用户。尝试此操作也不要向用户提示登录有什么问题。还可以使用重定向功能。代码如下: <body> <div class="login-card"> <h1>Log-in</h1><br> <form action="incident-form

我在PHP5.5中使用phpMyAdmin。我的数据库名是aid,表名是users。表单在那里,数据库和表格在那里,但它在提交时直接进入目标页面,而不检查用户。

尝试此操作也不要向用户提示登录有什么问题。还可以使用重定向功能。代码如下:

<body>
    <div class="login-card">
        <h1>Log-in</h1><br>
        <form action="incident-form.php" method="POST">
            <input type="text" name="username" placeholder="Username">
            <input type="password" name="password" placeholder="Password">
            <input type="submit" name="submit" class="login login-submit" value="Login">
        </form>

        <div class="login-help">
            <a href="#">Register</a> <a href="#">Forgot Password</a>
        </div>
    </div>

</body>
</html>

<?php
    $connect = mysql_connect("localhost", "root", "");
    mysql_select_db("aid");

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

        $query = mysql_query("SELECT * FROM users WHERE username='".$username."'");

        if (mysql_num_rows($query) > 0){
            while($row = mysql_fetch_assoc($query)) {
                if ($row = ['password'] == $password){
                    echo "Successfully logged in!";
                }else{
                    echo "Wrong password";
                }
            }
        }else{
            echo "Username not found";
        }
    }
?>
如果(!function_存在('redirect_to')){
函数重定向到($new\u位置){
标题(“位置:”.$new_位置);
出口
} 
}

首先更改您的
操作
标签

if (!function_exists('redirect_to')) {
   function redirect_to($new_location) {
      header("Location: " . $new_location);
      exit;
   } 
}
<?php
$connect = mysqli_connect("localhost", "root", "", "aid");
if (isset($_POST['submit'])) {
    $username = $_POST['username'];
    $password = $_POST['password'];

    $query = "SELECT * FROM users";
    $result = mysqli_query($connect, $query);
    while($row = mysqli_fetch_assoc($result)) {
            if ($row['username'] == $username && $row['password'] == $password) {
                echo "Successfully logged in!";
                redirect_to("dashboard.php");
            } else{
                echo "Login Is wrong";
            }
        }
    } else{
        echo "Username/Password not found";
    }
    }
}
?>
如果登录成功,则使用
header()
将用户重定向到
incident form.php

if ($row['password'] == $password){
至少用它来预防


但是,还是要使用
mysqli.*
而不是
mysql.*
API。

PHP不是这样工作的,服务器根据发送的请求进行处理。您必须将代码移动到
incident form.php
的顶部,并仅在其登录时显示该内容,或者必须将此代码放在中间的页面上,将表单指向那里,并使用
header
函数重定向,否则您将不得不构建一个javascript调用来调用代码,并根据结果阻止提交

为您在解决方案上展开。你需要三页纸

  • 指向login-redirect.php的表单
  • 包含以下代码的登录页面

    $username = mysql_real_escape_string($_POST['username']);
    $password = mysql_real_escape_string($_POST['password']);
    
  • 事件-form.php

  • 将此更改:if
    ($row=['password']=$password){
    更改为:
    if($row['password']=$password){
    。仔细阅读您的问题,您是否希望在表单移动到
    事件表单之前,在表单提交上运行php脚本。php
    ?@RockMyAlgorithm,谢谢,但仍然不起作用…并且停止使用
    mysql\uu
    (尤其是在您运行php 5.5之后)。请改用或PDO。是的,我希望php脚本在用户验证后进入下一页之前验证用户。此外,还可以将您的php置于HTMLTanks之上。非常重要的是,它现在可以工作,但只有在我采取行动进入下一页时才能工作。但我需要它在登录后进入下一页。现在它只停留在登录页上:/depen关于OP在何处使用它,考虑到只有公司内的用户才能登录(用户名是标准的),安全逻辑是正确的。如果需要更高的安全性,则应删除提示。@Co2i在回答中添加了重定向功能
    header("LOCATION:incident-form.php"); /* PUT THIS INSIDE YOUR IF CONDITION */
    
    $username = mysql_real_escape_string($_POST['username']);
    $password = mysql_real_escape_string($_POST['password']);
    
    $connect = mysqli_connect("localhost", "root", "", "aid");
    if (isset($_POST['submit'])) {
        $username = $_POST['username'];
        $password = $_POST['password'];
    
        $query = "SELECT * FROM users";
        $result = mysqli_query($connect, $query);
        while($row = mysqli_fetch_assoc($result)) {
            if ($row['username'] == $username && $row['password'] == $password) {
                header("Location: incedent-form.php");
            } else{
                header("Location: login-form.php");
            }
        }
    } else {
        header("Location: login-form.php");
    }