Postingan lainnya
Kelas Premium!
Belajar bikin website dari nol sekarang
Gunakan kupon "lebihcepat" untuk diskon 25%!
Cara menyimpan data user login ke session dan menyimpan kembali di tabel database lain
Halo, saya sedang belajar fitur upload dan download, pada halaman upload saat user mengupload file maka data user yang mengupload/login dari database tabel user (username dan profile name nya) ikut tersimpan di tabel upload, tapi saat saya jalankan ternyata yang muncul pada halaman download hanya username saja
ini upload.php
<?php
session_start();
$sql=mysqli_query($conn, "SELECT * FROM tb_user WHERE username = '$username' AND password = '$password' ") or die(mysqli_error());
$row = mysqli_fetch_array($sql);
if (mysqli_num_rows($sql) > 0)
{
$_SESSION['username'] = $row['username'];
$_SESSION['nama'] = $row['nama'];
}
?>
<div class="container container-body">
<h3>Upload</h3>
<hr>
<div class="row">
<div class="col-md-6 col-md-offset-3">
<form class="form-horizontal" method="post" enctype="multipart/form-data">
<div class="form-group">
<div class="col-md-10">
<input type="file" name="myFile" class="filestyle" data-icon="false">
</div>
<div class="col-md-2">
<button type="submit" name="upload" class="btn btn-primary"><i class="fa fa-upload"></i> Upload
</div>
</div>
</form>
<?php
// definisi folder upload
define("UPLOAD_DIR", "uploads/");
if (!empty($_FILES["myFile"])) {
$file_name = $_FILES['file']['name'];
$myFile = $_FILES["myFile"];
$ext = pathinfo($_FILES["myFile"]["name"], PATHINFO_EXTENSION);
$size = $_FILES["myFile"]["size"];
$tgl = date("Y-m-d");
$user = $_SESSION['username'];
$nama = $_SESSION['nama'];
if ($myFile["error"] !== UPLOAD_ERR_OK) {
echo '<div class="alert alert-warning">Gagal upload file.</div>';
exit;
}
// filename yang aman
$name = preg_replace("/[^A-Z0-9._-]/i", "_", $myFile["name"]);
// mencegah overwrite filename
$i = 0;
$parts = pathinfo($name);
while (file_exists(UPLOAD_DIR . $name)) {
$i++;
$name = $parts["filename"] . "-" . $i . "." . $parts["extension"];
}
// upload file
$success = move_uploaded_file($myFile["tmp_name"],
UPLOAD_DIR . $name);
if (!$success) {
echo '<div class="alert alert-warning">Gagal upload file.</div>';
exit;
}else{
$insert = $conn->query("INSERT INTO tb_upload(tgl_upload, file_name, file_size, file_type, user, nama) VALUES('$tgl', '$name', '$size', '$ext', '$user', '$nama')");
if($insert){
echo '<div class="alert alert-success">File berhasil di upload.</div>';
}else{
echo '<div class="alert alert-warning">Gagal upload file.</div>';
exit;
}
}
// set permisi file
chmod(UPLOAD_DIR . $name, 0644);
}
?>
</div>
</div>
<?php
?>
ini download.php
<div class="panel-body">
<div class="table-responsive">
<table class="table table-striped table-bordered table-hover" id="dataTables-example">
<thead>
<tr>
<th>No.</th>
<th>File Name</th>
<th>File Size</th>
<th>File Type</th>
<th>Uploader</th>
<th>Nama</th>
<th>Download</th>
</tr>
</thead>
<tbody>
<?php
$sql = $conn->query("SELECT * FROM tb_upload ORDER BY id_file DESC");
$no = 1;
while($row = $sql->fetch_assoc()){
?>
<tr>
<td><?php echo $no++; ?></td>
<td><?php echo $row['file_name']; ?></td>
<td><?php echo bytesToSize($row['file_size']); ?></td>
<td><?php echo $row['file_type']; ?></td>
<td><?php echo $row['user']; ?></td>
<td><?php echo $row['nama']; ?></td>
<td>
<a href="uploads/'.$row['file_name'].'" class="btn btn-primary btn-sm"><i class="fa fa-download"></i> Download</a>
<a onclick="return confirm('Anda Yakin Ingin Menghapus Data Ini?')" href="?page=download&aksi=hapus&id_file=<?php echo $row['id_file']; ?>" class="btn btn-danger btn-sm" ><i class="fa fa-trash"></i></a>
</td>
</tr>
<?php } ?>
</tbody>
</table>
tb_upload
tb_user
hasil
Mohon bimbingan dan bantuannya Terima kasih
1 Jawaban:
Hi @tjgsp, Coba check lagi datanya dump aja pake print_r($_SESSION['nama']);die;, kalo ada harusnya ga masalah
Tanggapan
sudah saya dump munculnya Undefined index: nama, begitu juga kalo saya coba dump password, yang bisa muncul cuma kalo saya coba dump username