Postingan lainnya
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');
}
}
?>
1 Jawaban:
<div>Coba class-nya di ubah seperti ini :</div><pre><?php class Database{ var $host = "localhost"; var $username = "root"; var $password = ""; var $database = "db_aqilla"; var $koneksi; }
public function __construct(){
$this-&gt;koneksi = mysqli_connect($this-&gt;host, $this-&gt;username, $this-&gt;password,$this-&gt;database);
}
public function signup($nama,$username,$password,$pass,$level,$img)
{
$insert = mysqli_query($this-&gt;koneksi,"insert into tb_user values ('','$nama',$username','$password','$pass','$level','$img')");
return $insert;
}
?></pre><div><br>Kemudian untuk pemanggilan classnya seperti ini :</div><pre><?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'); } }
?></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>