Postingan lainnya
Buku Ini Koding!
Baru!
Buku ini akan jadi teman perjalanan kamu belajar sampai dapat kerjaan di dunia programming!
bagaimana cara menampilkan nama user yang sedang login
saya mau tanya, bagaimana cara menampilkan nama lengkap yang login?
ini databasenya (table: pengguna): id int username varchar password varchar status tinyint nama_lengkap varchar
(table: artikel): id int judul varchar isi varchar waktu timestamp tag varchar
ini index.php nya:
<?php
require_once "core/init.php";
$super_user = $login = false;
if(isset($_SESSION['user'])){
$login = true;
if(cek_status($_SESSION['user']) == 0){
$super_user = true;
}
}
$articles = tampilkan();
if(isset($_GET['cari'])){
$cari = $_GET['cari'];
$articles = hasil_cari($cari);
}
require_once "view/header.php";
?>
<form action="" method="get">
<input type="search" name="cari" placeholder="Cari artikel disini">
</form>
<?php while($row = mysqli_fetch_assoc($articles)): ?>
<div class="each_article">
<h3><a href="single.php?id=<?= $row['id']; ?>"><?= $row['judul']; ?></a></h3>
<p>
<?= excerpt($row['isi']); ?>
</p>
<p class="waktu"> <?= $row['waktu']; ?> </p>
<p class="tag"> Tag: <?= $row['tag']; ?> </p>
<p class="penulis"> Penulis: <?= $row['nama_lengkap']; ?> </p>
<?php if($login == true): ?>
<a href="edit.php?id=<?= $row['id']; ?>"> Edit </a>
<?php if($super_user == true): ?>
<a href="hapus.php?id=<?= $row['id']; ?>"> Hapus </a>
<?php endif; ?>
<?php endif; ?>
</div>
<?php endwhile; ?>
<?php require_once "view/footer.php"; ?>
ini kode halaman singlenya "single.php:
<?php
require_once "core/init.php";
require_once "view/header.php";
$error = '';
$id = $_GET['id'];
$nama_lengkap = $_GET['nama_lengkap'];
if(isset($_GET['id'])){
$article = tampilkan_per_id($id);
while($row = mysqli_fetch_assoc($article)){
$judul_awal = $row['judul'];
$konten_awal = $row['isi'];
$tag_awal = $row['tag'];
}
$tampil_user = tampilkan_pengguna($nama_lengkap);
while($row = mysqli_fetch_assoc($article)){
$nama_lengkap = $row['nama_lengkap'];
}
}
?>
<p id="judul_single">
<?= $judul_awal; ?>
</p>
<p id="isi_single">
<?= $konten_awal; ?>
</p>
<p id="tag_single">
<?= $tag_awal; ?>
</p>
<p id="penulis_single">
<?= $nama_lengkap; ?>
</p>
<?php require_once "view/footer.php"; ?>
dan ini halaman tempat fungsi-fungsinya "blog.php":
<?php
function tampilkan(){
$query = "SELECT * FROM artikel";
return result($query);
}
function tampilkan_per_id($id){
$query = "SELECT * FROM artikel WHERE id=$id";
return result($query);
}
function tampilkan_pengguna($nama_lengkap){
$query = "SELECT * FROM pengguna WHERE nama_lengkap='$nama_lengkap'";
return result($query);
}
function hasil_cari($cari){
$query = "SELECT * FROM artikel WHERE judul LIKE '%$cari%'";
return result($query);
}
function result($query){
global $link;
if($result = mysqli_query($link, $query) or die ('Gagal menampilkan data')){
return $result;
}
}
function tambah_data($judul, $konten, $tag){
$judul = escape($judul);
$konten = escape($konten);
$query = "INSERT INTO artikel (judul, isi, tag) VALUES ('$judul', '$konten', '$tag')";
return run($query);
}
function edit_data($judul, $konten, $tag, $id){
$query = "UPDATE artikel SET judul='$judul', isi='$konten', tag='$tag' WHERE id=$id";
return run($query);
}
function hapus_data($id){
$query = "DELETE FROM artikel WHERE id=$id";
return run($query);
}
function run($query){
global $link;
if(mysqli_query($link, $query)) return true;
else return false;
}
function excerpt($string){
$string = substr($string, 0, 15);
return $string . "...";
}
function escape($data){
global $link;
return mysqli_real_escape_string($link, $data);
}
?>
saya udah nyoba ngotak ngatik dan ngikutin beberapa cara yg saya cari di mbah gugel beberapa hari ini masih belum bisa juga.
mohon bantuannya teman-teman sekalian?
12 Jawaban:
$tampil_user = tampilkan_pengguna($nama_lengkap);
while($row = mysqli_fetch_assoc($article)){
$nama_lengkap = $row['nama_lengkap'];
}
}
ane masih newbie juga di php itu mysqli_fetch_assoc($article) nya udah ganti coba mysqli_fetch_assoc($pengguna) gan ?
kalo di query sql menurut sy 'SELECT nama_lengkap FROM pengguna WHERE id = '(isi id yang di dapat dari ketika user login)' ;
ketika sudah dapat.. lansung munculkan di halaman index..
sory kalo salah.. newbie juga..
terima kasih buat @nanto88 dan @nataa untuk masukannya. saya udah coba masukan dari agan-agan sekalian tapi belum bisa dan setelah mencoba yg mendekati dari masukan agan-agan akhirnya bisa, meskipun baru bisa yg di halaman singlenya saja, di indexnya belum berhasil.
ini halaman 'blog.php' tempat fungsi-fungsinya:
function tampilkan(){
$query = "SELECT * FROM artikel";
return result($query);
}
function tampilkan_per_id($id){
$query = "SELECT * FROM artikel WHERE id=$id";
return result($query);
}
function tampilkan_pengguna($nama_lengkap){
$query = "SELECT * FROM pengguna WHERE id=$nama_lengkap";
return result($query);
}
dan ini 'single.php' nya:
<?php
require_once "core/init.php";
require_once "view/header.php";
$error = '';
$id = $_GET['id'];
if(isset($_GET['id'])){
$article = tampilkan_per_id($id);
while($row = mysqli_fetch_assoc($article)){
$judul_awal = $row['judul'];
$konten_awal = $row['isi'];
$tag_awal = $row['tag'];
}
}
$nama_lengkap = $_GET['id'];
if(isset($_GET['id'])){
$tampil_user = tampilkan_pengguna($nama_lengkap);
while($row = mysqli_fetch_assoc($tampil_user)){
$nama_lengkap = $row['nama_lengkap'];
}
}
?>
<p id="judul_single">
<?= $judul_awal; ?>
</p>
<p id="isi_single">
<?= $konten_awal; ?>
</p>
<p id="tag_single">
<?= $tag_awal; ?>
</p>
<p id="penulis_single">
<?= $nama_lengkap; ?>
</p>
<?php require_once "view/footer.php"; ?>
sekarang tinggal di halaman indexnya aja yg masih belum bisa nampilin nama penulisnya berdasarkan orang yg login yg membuat postingannya masing-masing.
adakah yang bisa membantu?
ketika sudah login.. mengarah ke file single.php or ke index.php ??
pakai fungsi mysql yang ini gan mysqli_insert_id() ketika login sudah tervalidasi.. lalu di arahkan ke fungsi mysql nya itu.. sehingga dapat idnya.. kalo sudah dapat idnya... lalu munculkan data nama_lengkap sesuai dengan id tersebut..
setelah login akan langsung mengarah ke index.php
contoh kodingannya seperti apa yaa gan menggunakan mysqli_insert_id()?
soalnya jawaban saya yg sebelumnya, saya kira berhasil ternyata cuma nampilin usernya secara berurutan bukannya sesuai yg sedang login.
maksudnya gni bukan di db tambah table online isi 1 atau 0 , singkatny gni
("SELECT `name` FROM `users` WHERE `online` = '1'"); while ($ol = $db->fetchArray()) { ?>
ane sih make gini :D
@simuf berarti ketika login dan logout mesti perubahan terus dunk isi field onlinenya ??
@nataa engga manual dong mas otomatis jadi di file log out sisipin line
("UPDATE users SET `online` = '0' WHERE `username` = '$username'");
session_destroy();
sebaliknya kalo mau login SET `online` = '1'
maaf gan saya masih aga bingung, ini filenya saya kasih langsung aja deh. soalnya saya juga masih belajar tentang php.
https://drive.google.com/file/d/0B4wCddl_wCimQmF2ek9jeHRSVk0/view?usp=sharing
hmm...
hmm...
(Bentar ane lg mikir :v )
1. mau nampilin nama yg login kan? kenapa gk pke SESSION aja mas? caranya?
Ambil datanya dr Query Select untuk cek Username dan Password contoh:
$user = mysqli_query($mysqli, "SELECT * FROM user WHERE username='$username' AND password='$password'");
$data = mysqli_fetch_array($user);
$jmluser = mysqli_num_rows($user)
if($jmluser > 0){
//...........
$_SESSION['namalengkap'] = $data['nama_lengkap'];
//..
}else{
//...........
}
jadi ente tinggal
echo $_SESSION['namalengkap']
di halaman single atau index
2. Untuk nampilin penulis yg buat artikel ane saranin buat field id_user di table artikel, jadi pake teknik inner join, liat video tutorialnya dr Mas Hilman yg gantengs di kelas ada kok :v
@ianfebriyan untuk yang nomor 2 itu videonya yg judulnya apa ya?
oh ya mas, saya udah nyoba membuat kodingan mirip seperti yg mas kasih, tapi masih belum bisa juga.
nih mas kodingannya:
<?php
$login = false;
if(isset($_SESSION['user'])){
$login = true;
}
$user = mysqli_query($link, "SELECT * FROM pengguna WHERE username='$nama' AND password='$pass'");
$data = mysqli_fetch_array($user);
$jmluser = mysqli_num_rows($user);
if($jmluser > 0){
//...........
$_SESSION['nama_lengkap'] = $data['nama_lengkap'];
//..
}else{
//...........
}
?>
<head>
<title>SMK NEGERI 3 KOTA BEKASI</title>
<link rel="stylesheet" href="view/style.css">
<meta charset="utf-8">
</head>
<div id="head">
<img src="gambar/bg.png" alt="Logo Sekolah" width="150" height="150">
<br><br>
<p id="nama_sekolah">SMK NEGERI 3 KOTA BEKASI</p>
</div>
<div id="menu">
<ul>
<li><a href="index.php">Beranda</a></li>
<?php if($login == true): ?>
<li><a href="tambah.php">Tambah</a></li>
<li><a href="logout.php">Logout</a></li>
<?php else: ?>
<li><a href="login.php">Login</a></li>
<?php endif; ?>
</ul>
</div>
<?php if($login == true): ?>
<label id="nama_pengguna" for="">Selamat datang, <?php echo $_SESSION['nama_lengkap']; ?></label> <!--ini pengennya sesuai sama siapa yg login-->
<?php endif; ?>
maaf ya buat semuanya kalo saya lambat pahamnya, mohon bimbingannya.
<div>Wah makasi banyak mas, saya pake mode session terus terapkan script ini dan nongol juga namnya wkwkw.. </div><pre>echo $_SESSION['nama'] </pre>