Postingan lainnya
gagal login Fatal error: Uncaught ArgumentCountError
Fatal error: Uncaught ArgumentCountError: Too few arguments to function admin::login_admin(), 2 passed in C:\xampp\htdocs\biro-travel\Admin\index.php on line 24 and exactly 3 expected in C:\xampp\htdocs\biro-travel\class\admin.php:13 Stack trace: #0 C:\xampp\htdocs\biro-travel\Admin\index.php(24): admin->login_admin('admin', 'admin') #1 {main} thrown in C:\xampp\htdocs\biro-travel\class\admin.php on line 13
mohon bantuan suhu
index.php
<?php
session_start();
if($_SESSION){
header("Location: operator.php");
}elseif ($_SESSION) {
header("Location: admin.php");
}
include '../class/admin.php';
$admin = new admin();
if (isset($_SESSION['Login']))
{
header("location:index.php");
}
if (isset($_POST['Login'])) {
$login = $admin->login_admin($_POST['username'],$_POST['password']);
if($login ) {
if( $_SESSION['level'] == "1") {
header("location: admin.php");
} else if( $_SESSION['level'] == "2") {
header("location: operator.php");
}
}else {
?>
<!-- muncul peringatan kalau login gagal dan langsung kembali ke halaman login.php-->
<script type="text/javascript">alert("Login Gagal ."); window.location.href="index.php"</script> <?php
}
}
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Admin DM</title>
<meta name="description" content="description">
<meta name="author" content="Evgeniya">
<meta name="keyword" content="keywords">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link href="plugins/bootstrap/bootstrap.css" rel="stylesheet">
<link href="http://netdna.bootstrapcdn.com/font-awesome/4.0.3/css/font-awesome.css" rel="stylesheet">
<link href='http://fonts.googleapis.com/css?family=Righteous' rel='stylesheet' type='text/css'>
<link href="css/style.css" rel="stylesheet">
<!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries -->
<!--[if lt IE 9]>
<script src="http://getbootstrap.com/docs-assets/js/html5shiv.js"></script>
<script src="http://getbootstrap.com/docs-assets/js/respond.min.js"></script>
<![endif]-->
</head>
<body>
<div class="container-fluid">
<div id="page-login" class="row">
<div class="col-xs-12 col-md-4 col-md-offset-4 col-sm-6 col-sm-offset-3">
<div class="text-right">
</div>
<div class="box">
<div class="box-content">
<div class="text-center">
<h3 class="page-header">Login</h3>
</div>
<form role="form" action="" method="post">
<div class="form-group">
<label class="control-label">Username</label>
<input type="text" class="form-control" name="username" />
</div>
<div class="form-group">
<label class="control-label">Password</label>
<input type="password" class="form-control" name="password" />
</div>
<input type="submit" name="Login" class="btn btn-primary btn-block" value="Log in" />
</div>
</div>
</div>
</form>
</div>
</div>
</div>
</body>
</html>
admin.php
<?php
include "koneksi.php";
class admin extends database{
function __construct()
{
$this->getConnection();
}
public function login_admin($username,$password,$level){
$sql = "SELECT * from tbl_admin
WHERE user_admin = '$username' AND pass_admin = '$password' ";
$result = mysqli_query($this->getConnection(),$sql);
$user_data = mysqli_fetch_array($result);
$no_rows = mysqli_num_rows($result);
if ($no_rows == 1) {
$_SESSION['login'] = true;
$_SESSION['nama'] = $user_data['nama'];
$_SESSION['foto'] = $user_data['foto'];
$_SESSION['level'] = $user_data['level'];
return TRUE;
}
else
{
return FALSE;
}
}
function tampil_data(){
$sql = "SELECT * FROM tbl_admin";
$result = mysqli_query($this->getConnection(),$sql);
while ($row = mysqli_fetch_array($result)) {
$hasil[] = $row;
}
return $hasil;
}
function input($foto,$user_admin,$pass_admin,$level,$nama){
$sql = "insert into tbl_admin ( `foto`, `user_admin`, `pass_admin`,`level`,`nama`) values('$foto','$user_admin','$pass_admin','$level','$nama')";
$result = mysqli_query($this->getConnection(),$sql);
move_uploaded_file($_FILES['foto']['tmp_name'], "../foto/".$_FILES['foto']['name']);
echo"<script>alert('foto Berhasil diupload !');history.go(-1);</script>";
}
function hapus($id){
$sql = "DELETE from tbl_admin where id='$id'";
$result = mysqli_query($this->getConnection(),$sql);
}
function edit($id){
$sql = "SELECT * from tbl_admin where id='$id'";
$result = mysqli_query($this->getConnection(),$sql);
while ($row = mysqli_fetch_array($result)) {
$hasil[] = $row;
}
return $hasil;
}
function update($id,$foto,$user_admin,$pass_admin,$level,$nama){
if(empty($foto)){
$sql = "UPDATE tbl_admin SET user_admin='$user_admin', pass_admin='$pass_admin', level='$level', nama='$nama' WHERE id='$id'";
$result = mysqli_query($this->getConnection(),$sql);
}
if(!empty($foto)){
$sql = "UPDATE tbl_admin SET foto='$foto', user_admin='$user_admin', pass_admin='$pass_admin', level='$level', nama='$nama' WHERE id='$id'";
$result = mysqli_query($this->getConnection(),$sql);
move_uploaded_file($_FILES['foto']['tmp_name'], "../foto/".$_FILES['foto']['name']);
echo"<script>alert('foto Berhasil diupload !');history.go(-1);</script>";
}
}
}
?>
1 Jawaban:
<div>Hallo, sepertinya ada kesalahan pada penggunaan method login_admin,<br>karena pada deklarasi method login_admin, method tersebut butuh 3 parameter, yaitu $username, $password, $level. Namun ketika di panggil, hanya diberikan 2 parameter, makanya error.<br><br>Untuk mengatasinya kamu bisa menghapus parameter ke-3 yaitu $level, karena saya liat sepertinya parameter ke-3 ($level) tersebut tidak dipakai pada body method login_admin, contohnya seperti ini : <br><br></div><pre> public function login_admin($username,$password){
$sql = "SELECT * from tbl_admin
WHERE user_admin = '$username' AND pass_admin = '$password' ";
$result = mysqli_query($this-&gt;getConnection(),$sql);
$user_data = mysqli_fetch_array($result);
$no_rows = mysqli_num_rows($result);
if ($no_rows == 1) {
$_SESSION['login'] = true;
$_SESSION['nama'] = $user_data['nama'];
$_SESSION['foto'] = $user_data['foto'];
$_SESSION['level'] = $user_data['level'];
return TRUE;
}
else
{
return FALSE;
}
}</pre>
Tanggapan
terima kasih sudah bisa berjalan
Terimakasih mas sangat membantu