CRUD dengan Upload Foto
CRUD dengan Upload Foto
Membuat CRUD yang dapat upload dan menyimpan foto menggunakan php
Source Code:
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
$host = "localhost"; // Nama hostnya | |
$username = "user_pweb"; // Username | |
$password = "admin123"; // Password | |
$database = "tugas_foto_pweb"; // Nama databasenya | |
// Koneksi ke MySQL dengan PDO | |
$pdo = null; | |
try{ | |
$pdo = new PDO('mysql:host=' . $host . ';dbname=' . $database, $username, $password); | |
} | |
catch(PDOException $e){ | |
echo('Connecition failed'); | |
} | |
?> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<html> | |
<head> | |
<title>Aplikasi CRUD dengan PHP</title> | |
</head> | |
<body> | |
<h1>Ubah Data Siswa</h1> | |
<?php | |
// Load file config.php | |
include "config.php"; | |
// Ambil data NIS yang dikirim oleh index.php melalui URL | |
$id = $_GET['id']; | |
// Query untuk menampilkan data siswa berdasarkan ID yang dikirim | |
$sql = $pdo->prepare("SELECT * FROM siswa WHERE id=:id"); | |
$sql->bindParam(':id', $id); | |
$sql->execute(); // Eksekusi query insert | |
$data = $sql->fetch(); // Ambil semua data dari hasil eksekusi $sql | |
?> | |
<form method="post" action="proses_ubah.php?id=<?php echo $id; ?>" enctype="multipart/form-data"> | |
<table cellpadding="8"> | |
<tr> | |
<td>NIS</td> | |
<td><input type="text" name="nis" value="<?php echo $data['nis']; ?>"></td> | |
</tr> | |
<tr> | |
<td>Nama</td> | |
<td><input type="text" name="nama" value="<?php echo $data['nama']; ?>"></td> | |
</tr> | |
<tr> | |
<td>Jenis Kelamin</td> | |
<td> | |
<?php | |
if($data['jenis_kelamin'] == "Laki-laki"){ | |
echo "<input type='radio' name='jenis_kelamin' value='laki-laki' checked='checked'> Laki-laki"; | |
echo "<input type='radio' name='jenis_kelamin' value='perempuan'> Perempuan"; | |
}else{ | |
echo "<input type='radio' name='jenis_kelamin' value='laki-laki'> Laki-laki"; | |
echo "<input type='radio' name='jenis_kelamin' value='perempuan' checked='checked'> Perempuan"; | |
} | |
?> | |
</td> | |
</tr> | |
<tr> | |
<td>Telepon</td> | |
<td><input type="text" name="telp" value="<?php echo $data['telp']; ?>"></td> | |
</tr> | |
<tr> | |
<td>Alamat</td> | |
<td><textarea name="alamat"><?php echo $data['alamat']; ?></textarea></td> | |
</tr> | |
<tr> | |
<td>Foto</td> | |
<td> | |
<input type="file" name="foto"> | |
</td> | |
</tr> | |
</table> | |
<hr> | |
<input type="submit" class='btn btn-warning' value="Ubah"> | |
<a href="index.php"><input type="button" class='btn btn-danger' value="Batal"></a> | |
</form> | |
</body> | |
</html> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<html> | |
<head> | |
<title>Aplikasi CRUD dengan PHP</title> | |
<link rel="stylesheet" href="style/style.css"> | |
</head> | |
<body> | |
<h1>Tambah Data Siswa</h1> | |
<form method="post" action="proses_simpan.php" enctype="multipart/form-data"> | |
<table cellpadding="8"> | |
<tr> | |
<td>id</td> | |
<td><input type="number" name="id"></td> | |
<td>NIS</td> | |
<td><input type="text" name="nis"></td> | |
</tr> | |
<tr> | |
<td>Nama</td> | |
<td><input type="text" name="nama"></td> | |
</tr> | |
<tr> | |
<td>Jenis Kelamin</td> | |
<td> | |
<input type="radio" name="jenis_kelamin" value="Laki-laki"> Laki-laki | |
<input type="radio" name="jenis_kelamin" value="Perempuan"> Perempuan | |
</td> | |
</tr> | |
<tr> | |
<td>Telepon</td> | |
<td><input type="text" name="telp"></td> | |
</tr> | |
<tr> | |
<td>Alamat</td> | |
<td><textarea name="alamat"></textarea></td> | |
</tr> | |
<tr> | |
<td>Foto</td> | |
<td><input type="file" name="foto"></td> | |
</tr> | |
</table> | |
<hr> | |
<button type="submit" class="btn btn-primary" value="Daftar" name="Daftar">Daftar</button> | |
<a href="index.php"><input type="button" class="btn btn-danger" value="Batal"></a> | |
</form> | |
</body> | |
</html> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<html> | |
<head> | |
<title>Aplikasi CRUD Plus Upload Gambar dengan PHP</title> | |
</head> | |
<body> | |
<h1>Data Siswa</h1> | |
<a href="form_simpan.php" class='btn btn-success'>+ Tambah Data</a><br><br> | |
<table border="1" width="100%"> | |
<tr> | |
<th>Foto</th> | |
<th>NIS</th> | |
<th>Nama</th> | |
<th>Jenis Kelamin</th> | |
<th>Telepon</th> | |
<th>Alamat</th> | |
<th colspan="2">Aksi</th> | |
</tr> | |
<?php | |
// Load file koneksi.php | |
include "koneksi.php"; | |
// Buat query untuk menampilkan semua data siswa | |
$sql = $pdo->prepare("SELECT * FROM siswa"); | |
$sql->execute(); // Eksekusi querynya | |
while($data = $sql->fetch()){ // Ambil semua data dari hasil eksekusi $sql | |
echo "<tr>"; | |
echo "<td><img src='images/".$data['foto']."' width='100' height='100'></td>"; | |
echo "<td>".$data['nis']."</td>"; | |
echo "<td>".$data['nama']."</td>"; | |
echo "<td>".$data['jenis_kelamin']."</td>"; | |
echo "<td>".$data['telp']."</td>"; | |
echo "<td>".$data['alamat']."</td>"; | |
echo "<td><a href='form_ubah.php?id=".$data['id']."' class='btn btn-info'>Ubah</a></td>"; | |
echo "<td><a href='proses_hapus.php?id=".$data['id']."' class='btn btn-danger'>Hapus</a></td>"; | |
echo "</tr>"; | |
} | |
?> | |
</table> | |
</body> | |
</html> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
// Load file config.php | |
include "config.php"; | |
// Ambil data NIS yang dikirim oleh index.php melalui URL | |
$id = $_GET['id']; | |
// Query untuk menampilkan data siswa berdasarkan ID yang dikirim | |
$sql = $pdo->prepare("SELECT foto FROM siswa WHERE id=:id"); | |
$sql->bindParam(':id', $id); | |
$sql->execute(); // Eksekusi query insert | |
$data = $sql->fetch(); // Ambil semua data dari hasil eksekusi $sql | |
// Cek apakah file fotonya ada di folder images | |
if(is_file("images/".$data['foto'])) // Jika foto ada | |
unlink("images/".$data['foto']); // Hapus foto yang telah diupload dari folder images | |
// Query untuk menghapus data siswa berdasarkan ID yang dikirim | |
$sql = $pdo->prepare("DELETE FROM siswa WHERE id=:id"); | |
$sql->bindParam(':id', $id); | |
$execute = $sql->execute(); // Eksekusi / Jalankan query | |
if($execute){ // Cek jika proses simpan ke database sukses atau tidak | |
// Jika Sukses, Lakukan : | |
header("location: index.php"); // Redirect ke halaman index.php | |
}else{ | |
// Jika Gagal, Lakukan : | |
echo "Data gagal dihapus. <a href='index.php'>Kembali</a>"; | |
} | |
?> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
// Load file config.php | |
include "config.php"; | |
// Ambil data ID yang dikirim oleh form_ubah.php melalui URL | |
$id = $_GET['id']; | |
// Ambil Data yang Dikirim dari Form | |
$nis = $_POST['nis']; | |
$nama = $_POST['nama']; | |
$jenis_kelamin = $_POST['jenis_kelamin']; | |
$telp = $_POST['telp']; | |
$alamat = $_POST['alamat']; | |
// Ambil data foto yang dipilih dari form | |
$foto = $_FILES['foto']['name']; | |
$tmp = $_FILES['foto']['tmp_name']; | |
// Cek apakah user ingin mengubah fotonya atau tidak | |
if(empty($foto)){ // Jika user tidak memilih file foto pada form | |
// Lakukan proses update tanpa mengubah fotonya | |
// Proses ubah data ke Database | |
$sql = $pdo->prepare("UPDATE siswa SET nis=:nis, nama=:nama, jenis_kelamin=:jk, telp=:telp, alamat=:alamat WHERE id=:id"); | |
$sql->bindParam(':nis', $nis); | |
$sql->bindParam(':nama', $nama); | |
$sql->bindParam(':jk', $jenis_kelamin); | |
$sql->bindParam(':telp', $telp); | |
$sql->bindParam(':alamat', $alamat); | |
$sql->bindParam(':id', $id); | |
$execute = $sql->execute(); // Eksekusi / Jalankan query | |
if($sql){ // Cek jika proses simpan ke database sukses atau tidak | |
// Jika Sukses, Lakukan : | |
header("location: index.php"); // Redirect ke halaman index.php | |
}else{ | |
// Jika Gagal, Lakukan : | |
echo "Maaf, Terjadi kesalahan saat mencoba untuk menyimpan data ke database."; | |
echo "<br><a href='form_ubah.php'>Kembali Ke Form</a>"; | |
} | |
}else{ // Jika user memilih foto / mengisi input file foto pada form | |
// Lakukan proses update termasuk mengganti foto sebelumnya | |
// Rename nama fotonya dengan menambahkan tanggal dan jam upload | |
$fotobaru = date('dmYHis').$foto; | |
// Set path folder tempat menyimpan fotonya | |
$path = "images/".$fotobaru; | |
// Proses upload | |
if(move_uploaded_file($tmp, $path)){ // Cek apakah gambar berhasil diupload atau tidak | |
// Query untuk menampilkan data siswa berdasarkan ID yang dikirim | |
$sql = $pdo->prepare("SELECT foto FROM siswa WHERE id=:id"); | |
$sql->bindParam(':id', $id); | |
$sql->execute(); // Eksekusi query insert | |
$data = $sql->fetch(); // Ambil semua data dari hasil eksekusi $sql | |
// Cek apakah file foto sebelumnya ada di folder images | |
if(is_file("images/".$data['foto'])) // Jika foto ada | |
unlink("images/".$data['foto']); // Hapus file foto sebelumnya yang ada di folder images | |
// Proses ubah data ke Database | |
$sql = $pdo->prepare("UPDATE siswa SET nis=:nis, nama=:nama, jenis_kelamin=:jk, telp=:telp, alamat=:alamat, foto=:foto WHERE id=:id"); | |
$sql->bindParam(':nis', $nis); | |
$sql->bindParam(':nama', $nama); | |
$sql->bindParam(':jk', $jenis_kelamin); | |
$sql->bindParam(':telp', $telp); | |
$sql->bindParam(':alamat', $alamat); | |
$sql->bindParam(':foto', $fotobaru); | |
$sql->bindParam(':id', $id); | |
$execute = $sql->execute(); // Eksekusi / Jalankan query | |
if($sql){ // Cek jika proses simpan ke database sukses atau tidak | |
// Jika Sukses, Lakukan : | |
header("location: index.php"); // Redirect ke halaman index.php | |
}else{ | |
// Jika Gagal, Lakukan : | |
echo "Maaf, Terjadi kesalahan saat mencoba untuk menyimpan data ke database."; | |
echo "<br><a href='form_ubah.php'>Kembali Ke Form</a>"; | |
} | |
}else{ | |
// Jika gambar gagal diupload, Lakukan : | |
echo "Maaf, Gambar gagal untuk diupload."; | |
echo "<br><a href='form_ubah.php'>Kembali Ke Form</a>"; | |
} | |
} | |
?> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
// Load file config.php | |
include('config.php'); | |
// Ambil Data yang Dikirim dari Form | |
if(isset($_POST['Daftar'])){ | |
if(empty($_FILES["foto"]["name"])){ | |
echo ('foto name empty'); | |
} | |
$id = $_POST['id']; | |
$nis = $_POST['nis']; | |
$nama = $_POST['nama']; | |
$jenis_kelamin = $_POST['jenis_kelamin']; | |
$telp = $_POST['telp']; | |
$alamat = $_POST['alamat']; | |
$foto = $_FILES['foto']['name']; | |
$tmp = $_FILES['foto']['tmp_name']; | |
echo ('this is foto: '.$foto.'<br>'); | |
echo ('this is tmp: '.$tmp.'<br>'); | |
// Rename nama fotonya dengan menambahkan tanggal dan jam upload | |
$fotobaru = date('dmYHis').$foto; | |
echo ('this is fotobaru: '.$fotobaru.'<br>'); | |
// Set path folder tempat menyimpan fotonya | |
$path = "images/".$fotobaru; | |
echo ('this is path: '.$path.'<br>'); | |
// Proses upload | |
if(move_uploaded_file($tmp, $path)){ // Cek apakah gambar berhasil diupload atau tidak | |
// Proses simpan ke Database | |
$sql = $pdo->prepare("INSERT INTO siswa(id, nis, nama, jenis_kelamin, telp, alamat, foto) VALUES(:id, :nis,:nama,:jk,:telp,:alamat,:foto)"); | |
$sql->bindParam(':id', $id); | |
$sql->bindParam(':nis', $nis); | |
$sql->bindParam(':nama', $nama); | |
$sql->bindParam(':jk', $jenis_kelamin); | |
$sql->bindParam(':telp', $telp); | |
$sql->bindParam(':alamat', $alamat); | |
$sql->bindParam(':foto', $fotobaru); | |
$sql->execute(); // Eksekusi query insert | |
if($sql){ // Cek jika proses simpan ke database sukses atau tidak | |
// Jika Sukses, Lakukan : | |
header("location: index.php"); // Redirect ke halaman index.php | |
}else{ | |
// Jika Gagal, Lakukan : | |
echo "Maaf, Terjadi kesalahan saat mencoba untuk menyimpan data ke database."; | |
echo "<br><a href='form_simpan.php'>Kembali Ke Form</a>"; | |
} | |
}else{ | |
// Jika gambar gagal diupload, Lakukan : | |
echo "Maaf, Gambar gagal untuk diupload."; | |
echo ("<br>"); | |
echo "<br><a href='form_simpan.php'>Kembali Ke Form</a>"; | |
} | |
} | |
else{ | |
echo ('????'); | |
} | |
?> |
Comments
Post a Comment