Postingan lainnya
ini errornya kenapa ya gan ane bingung
php ane error nya gini gan "Fatal error: Uncaught Error: Call to undefined function escape() in C:\MAMP\htdocs\bootstrap jarkom\user.php:3 Stack trace: #0 C:\MAMP\htdocs\bootstrap jarkom\login.php(14): cek_data('dagimal', '123') #1 {main} thrown in C:\MAMP\htdocs\bootstrap jarkom\user.php on line 3"
ini kode ane user.php
<?php
function cek_data($nama, $pass){
$nama = escape($nama);
$pass = escape($pass);
$query = "SELECT * FROM users WHERE username='$nama' AND password='$pass'";
global $link;
if($result= mysqli_query($link, $query)){
if(mysqli_num_rows($result) != 0)return true;
else return false;
}
}
?>
ini yang login.php
<?php
require_once "init.php";
$error = '';
if(isset($_POST['submit'])){
$nama = $_POST['nama'];
$pass = $_POST['password'];
if(!empty(trim($nama)) && !empty(trim($pass))){
if(cek_data($nama, $pass)){
header('Location: index.php');
}else{
$error = 'ada masalah saat login';
}
}else{
$error = 'user dan password wajib diisi!';
}
}
require_once "view/headerforadd.php";
?>
<form action="" method="post">
<label for="nama">nama</label><br>
<input type="text" name="nama" value=""><br><br>
<label for="password">password</label><br>
<input type="password" name="password" value=""><br><br>
<div id="error"><?=$error ?></div>
<input type="submit" name="submit" value="submit">
</form>
<br>
<?php
require_once "view/footer.php"
?>
6 Jawaban:
// Method escape() kamu nggak ada, atau nggak terdefinisikan sebelumnya, tapi dipanggil, jadinya error.
$nama = escape($nama);
$pass = escape($pass);
Jawaban Terpilih
agan sudah mendeklarasikan fungsi escape belum?
mungkin fungsi escape() bisa diganti jadi mysqli_real_escape_string()
atau agan bisa bikin fungsi seperti ini
<?
function escape($string){
mysqli_real_escape_string($string);
return escape();
}
?>
atau tiggal ganti escape yang agan pakek jadi
$nama= mysqli_real_escape_string($nama);
ini fungsi escape ane gan apanya yang salah??
<?php
function cek_data($nama, $pass){
$nama = escape($nama);
$pass = escape($pass);
$query = "SELECT * FROM users WHERE username='$nama' AND password='$pass'";
global $link;
if($result= mysqli_query($link, $query)){
if(mysqli_num_rows($result) != 0)return true;
else return false;
}
}
?>
Fungsi escape yg agan panggil belum dideklarasiin gan. Jadi seharusnya sebelum fungsi cek_data, agan sudah buat dulu fungsi escape-nya. Kalo memang fungsi escape-nya di file lain, jangan lupa di-include. Begitu kira-kira...