Логин php не работает, даже если я ввожу правильный адрес электронной почты и пароль - PullRequest
0 голосов
/ 22 ноября 2018

Я делаю систему форм, проблема в том, что даже если я ввел правильное имя пользователя и пароль, он все равно дал мне неправильный пароль, я уже пытался выполнить запрос на 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 структура (таблица входа в систему)

моя структура

1 Ответ

0 голосов
/ 22 ноября 2018

Я не вижу открывающий тег формы в вашем 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-инъекция), поэтому я надеюсь, что это академическое упражнение, а не производственный процесс.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...