Postingan lainnya
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>