Postingan lainnya
Buku Ini Koding!
Baru!
Buku ini akan jadi teman perjalanan kamu belajar sampai dapat kerjaan di dunia programming!
Kelas Premium!
Belajar Javascript untuk website
Gunakan kupon "mulaijs" untuk diskon 75 ribu!
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