Fatal error: Uncaught Error: Call to undefined method Database::signup()

Tolong bantu saya menyelesaikan permasalahan ini.

Berikut adalah code db proses_signup.php  :

<?php

class database{
	var $host = "localhost";
	var $username = "root";
	var $password = "";
	var $database = "db_aqilla";
	var $koneksi;
}

function __construct(){
		$this->koneksi = mysqli_connect($this->host, $this->username, $this->password,$this->database);
	}

	function signup($nama,$username,$password,$pass,$level,$img)
	{
		$insert = mysqli_query($this->koneksi,"insert into tb_user values ('','$nama',$username','$password','$pass','$level','$img')");
		return $insert;
	}
?>

Dan berikut adalah form signup.php yang bermasalah :

<?php
include ('config/proses_signup.php');
$database = new database();
if(isset($_POST['signup']))
{
    $nama = $_POST['nama'];
    $username = $_POST['username'];
    $password = password_hash($_POST['password'],PASSWORD_DEFAULT);
    $pass = $_POST['pass'];
    $level = $_POST['level'];
    $img = $_POST['img'];
    if($database->signup($nama,$username,$password,$pass,$level,$img))
    {
      header('location:login.php');
    }
}

?>
avatar muhammadrayhanrohadi_google
@muhammadrayhanrohadi_google

1 Kontribusi 0 Poin

Diperbarui 3 tahun yang lalu

1 Jawaban:

<div>Coba class-nya di ubah seperti ini :</div><pre>&lt;?php class Database{ var $host = "localhost"; var $username = "root"; var $password = ""; var $database = "db_aqilla"; var $koneksi; }

    public function __construct(){
	$this-&amp;gt;koneksi = mysqli_connect($this-&amp;gt;host, $this-&amp;gt;username, $this-&amp;gt;password,$this-&amp;gt;database);
}


public function signup($nama,$username,$password,$pass,$level,$img)
{	
	$insert = mysqli_query($this-&amp;gt;koneksi,&quot;insert into tb_user values (&#039;&#039;,&#039;$nama&#039;,$username&#039;,&#039;$password&#039;,&#039;$pass&#039;,&#039;$level&#039;,&#039;$img&#039;)&quot;);
	return $insert;
}

?&gt;</pre><div><br>Kemudian untuk pemanggilan classnya seperti ini :</div><pre>&lt;?php include ('config/proses_signup.php'); $database = new Database(); if(isset($_POST['signup'])) { $nama = $_POST['nama']; $username = $_POST['username']; $password = password_hash($_POST['password'],PASSWORD_DEFAULT); $pass = $_POST['pass']; $level = $_POST['level']; $img = $_POST['img']; if($database-&gt;signup($nama,$username,$password,$pass,$level,$img)) { header('location:login.php'); } }

?&gt;</pre><div><br>Catatan :<br>- Biasakan ketika membuat sebuah class, gunakan huruf kapital di awalnya.<br>- Berikan access modifer pada method/property yang ada di kelas, contohnya di atas di berikan keyword "public", ini bertujuan agar method/property dari class tersebut dapat di akses dari luar Class-nya tersendiri.<br><br>Semoga membantu.</div>

avatar ahanafi
@ahanafi

815 Kontribusi 554 Poin

Dipost 3 tahun yang lalu

Login untuk ikut Jawaban