php登录不工作,即使我输入正确的电子邮件和密码

7d7tgy0s  于 2021-06-19  发布在  Mysql
关注(0)|答案(1)|浏览(432)

我正在做一个表单系统,问题是,即使我输入了正确的用户名和密码,它仍然给我的密码是错误的,我已经尝试运行sql查询,它的工作,查询是正常的

<?php 
if(isset($_GET['pesan'])){
    if($_GET['pesan'] == "gagal"){
        echo "Login gagal! username dan password salah!";
    }else if($_GET['pesan'] == "logout"){
        echo "Anda telah berhasil logout";
    }else if($_GET['pesan'] == "belum_login"){
        echo "Anda harus login untuk mengakses halaman admin";
    }
}
?>

<form action="login.php" class="form-signin"> 
<center><h2 class="form-signin-heading">Login</h2></center>      
    <img src="../media/Logo2.png" width="90%" height="90%">
    <br><br>
    <tr>
        <td>Username</td>
        <td>:</td>
        <td><input type="text" name="username" placeholder="Masukkan username"></td>
    </tr>
    <tr>
        <td>Password</td>
        <td>:</td>
        <td><input type="password" name="password" placeholder="Masukkan password"></td>
    </tr>
    <tr>
        <td></td>
        <td></td>
        <td><input type="submit" value="LOGIN"></td>
    </tr>    
    <label class="checkbox">
        <input type="checkbox" value="remember-me" id="rememberMe" name="rememberMe"> Remember me
    </label>
    <button class="btn btn-lg btn-primary btn-block" type="submit">Login</button>   
</form>

这是行动文件

<?php 
// mengaktifkan session php
session_start();

// menghubungkan dengan koneksi
include '../koneksi.php';

// menangkap data yang dikirim dari form
$username = $_POST['username'];
$password = $_POST['password'];

// menyeleksi data admin dengan username dan password yang sesuai
$data = mysqli_query($koneksi,"SELECT * FROM t_pelapor WHERE Email = '$username' AND pass = '$password'");

// menghitung jumlah data yang ditemukan
$cek = mysqli_num_rows($data);

if($cek > 0){
    $_SESSION['username'] = $username;
    $_SESSION['status'] = "login";
    header("location:v_home.php");
}else{
    header("location:v_login.php?pesan=gagal");
}
?>

这是我的 t_pelapor 结构(登录表)
我的结构

vtwuwzda

vtwuwzda1#

我在你的html里根本看不到一个打开的表单标签,这是正确的。如果你的php文件在另一个地方(我不完全理解你的问题),你可能需要添加这样的东西 action="something.php" 以调用特定的php文件。

<?php 
if(isset($_GET['pesan'])){
    if($_GET['pesan'] == "gagal"){
        echo "Login gagal! username dan password salah!";
    }else if($_GET['pesan'] == "logout"){
        echo "Anda telah berhasil logout";
    }else if($_GET['pesan'] == "belum_login"){
        echo "Anda harus login untuk mengakses halaman admin";
    }
}
?>
<form id="whateveryouwant" name="whatever" method="POST">
<center><h2 class="form-signin-heading">Login</h2></center>      
  <img src="../media/Logo2.png" width="90%" height="90%">
  <br><br>
  <tr>
            <td>Username</td>
            <td>:</td>
            <td><input type="text" name="username" placeholder="Masukkan username"></td>
        </tr>
        <tr>
            <td>Password</td>
            <td>:</td>
            <td><input type="password" name="password" placeholder="Masukkan password"></td>
        </tr>
        <tr>
            <td></td>
            <td></td>
            <td><input type="submit" value="LOGIN"></td>
        </tr>    
  <label class="checkbox">
    <input type="checkbox" value="remember-me" id="rememberMe" name="rememberMe"> Remember me
  </label>
  <button class="btn btn-lg btn-primary btn-block" type="submit">Login</button>   
</form>

如前所述,这段代码容易被利用(sql注入),所以我希望这是一个学术练习,而不是一个生产的东西。

相关问题