Postingan lainnya
Masalah CREATE pada CRUD dengan OOP PHP
Halo mastah.. saya menemukan masalah saat belajar CRUD pada OOP PHP..
Saya sudah mencoba READ dengan data yang sudah ada di db/tanpa input form, dan berhasil..
Kemudian saya melakukan CREATE, tapi selalu tampil "Gagal menambahkan data" (walaupun isi inputnya belum di kirim ataupun sudah diisi dan dikirim)..
Mohon bantuannya dari masala tsb..
#Ini kodenya di file index.php
<?php
require_once("web/db.php");
require_once("fungsi/ada1.php");
// Objek dari Class Artikel
$artikel = new Artikel();
//fungsi dari objek arikel
$tampil_artikel = $artikel->tampil();
//cek submit tambahkan/tidak
if(isset($_POST["submit"])){
$nama = $_POST["nama"];
$sandi = $_POST["sandi"];
$artikel->tambah($nama,$sandi);
}else{
echo "Gagal menambahkan data!";
}
?>
<!--input data-->
<form action="" method="post">
<label for="">Nama : </label><br/>
<input type="text" name="nama"><br/>
<label for="">Sandi : </label><br/>
<input type="password" name="sandi"><br/>
<input type="submit" value="submit"><br/>
</form>
#Ini kodenya di file ada1.php
<?php
Class Artikel{
public function tampil(){
global $connect;
$result = $connect->query("SELECT * FROM artikel LIMIT 3") or
die("Gagal menampilkan data");
return $result;
}
public function tambah($nama, $sandi){
global $connect;
$result = $connect->query("INSERT INTO user ('username',
'password') VALUES ('$nama', '$sandi')");
return $result;
}
}
Mohon dibantu ya. :)
3 Jawaban:
Kalau tampil gagal menambahkan data pada saat belum di kirim datanya karena pada if else di atas melakukan pengecekan jika tersedia request method POST dengan variabel submit ada maka akan melakukan tambah data, namun pertama kali dibuka page/halamannya variabel tersebut belum ada jadi akan menampilkan Gagal Menambahkan Data pada saat dibuka. Solusinya jika ingin menambahkan hal tersebut bisa dilakukan dari function tambah pada class Artikel.
Yang satunya mungkin yg lain bisa membantu hehehe . Jadi pertanyaan kenapa pakai global ? ^^ Lebih baik kalau connection ke database itu di panggil hanya saat di butuhkan saja but it's oke with that
Owh gtu ya mas, jadi yg selalu echo "gagal menambahkan data" saya mulai paham.
Terus untuk yang datanya gk keinput ke db gmn y mas? Mohon dibantu lagi :)
Dan kasih penjelasan lebih rinci dong mas memanggil koneksi db ketika dibutuhkan. Misalkan contoh kode. :)
Terima kasih. :)
Untuk yang gak ke input ke database
<pre> //bla bla bla $sql = "INSERT INTO users (username, password) VALUES ('".$nama."','".$sandi."')"; $connect->query($sql); //bla bla bla bla kode selanjutnya </pre>
Perlu di inget, JANGAN PERNAH PERCAYA SAMA APA YANG DI INPUTIN USER (maaf capslock rusak tadi wkwkw)
Bisa liat file db.php nya ?