我要问的问题在这里被问到了,但问得很糟,导致问题没有解决。 这个koneksi.php
<?php
$host = "localhost";
$user = "root";
$pass = "";
$db = "zou";
$con = mysqli_connect($host, $user, $pass, $db);
if (mysqli_connect_errno()){
echo "Koneksi gagal: " . mysqli_connect_error();
}
?>
这是我的cek_login.php
session_start();
// menghubungkan php dengan koneksi database
include 'koneksi.php';
// menangkap data yang dikirim dari form login
$username = $_POST['username'];
$password = md5($_POST['password']);
// menyeleksi data user dengan username dan password yang sesuai
$query = mysqli_query($con, "SELECT * FROM user WHERE username='$username' AND password='$password'");
$data = mysqli_fetch_array($query);
$jml = mysqli_num_rows($query);
// cek apakah username dan password di temukan pada database
if($jml > 0){
$data = mysqli_fetch_assoc($login);
// cek jika user login sebagai admin
if($data['level']=="admin"){
// buat session login dan username
$_SESSION['username'] = $username;
$_SESSION['level'] = "admin";
// alihkan ke halaman dashboard admin
header("location:dashboard.php");
}else{
// alihkan ke halaman login kembali
header("location:index.php?pesan=gagal");
}
}
为什么我不能定义用户名? $ username中的详细信息无法调用。
这些错误消息是什么意思?
我该如何解决?
答案 0 :(得分:0)
根本原因:
这是因为,您的$_POST
仅在您提交表单时才会被初始化。
您默认使用它。
解决方案:
在使用$_POST
ed变量之前添加条件。
if (isset($_POST['username'])) {
// Your code after form is posted.
}
这将确保在使用变量之前将其发布。
并避免任何错误。
通常最好的做法是在使用变量的值之前检查变量是否已设置。
这绝对好:
$i = 0;
$i = $i + 1;
为
$i = $i + 1;
由于未初始化$i
,这将导致PHP错误。