0
我已經看到了堆棧溢出的土地,並沒有找到解決方案,我的極其基本的問題沒有成功。顯示海報的用戶名
我在我的網站內有一個消息系統,當用戶發佈消息時,我希望他們的名字在文章頂部顯示,例如。 「發佈者(姓名)」。
目前,它顯示登錄用戶的名稱,但是這個名稱會根據當時登錄的用戶而變化。
因此,如果我在名稱「Jim」下發布了一些內容,然後以名稱「Bob」登錄,它將顯示海報名稱爲「Bob」。
我知道我的問題在於$username = $_SESSION['username'];
。我只是不知道該怎麼做。
<?php
require_once("nbbc/nbbc.php");
$bbcode = new BBCode;
$sql = "SELECT * FROM comment ORDER BY id DESC";
$res = mysqli_query($dbCon, $sql) or die(mysqli_error($dbCon));
$comment = "";
$username = $_SESSION['username'];
if(mysqli_num_rows($res) > 0) {
while($row = mysqli_fetch_assoc($res)) {
$id = $row['id'];
$date = $row['date'];
$content = $row['content'];
$bbcode->Parse($content);
$comment .= "
<div id='a_comment'>
<h1>Posted by $username on $date</h1>
<p>$content</p>
</div>
";
}
echo $comment;
} else {
echo "<div id='no_comments'>There are no comments to be displayed.</div>";
}
?>
下面的代碼的其餘部分:
<?php
session_start();
include_once("inc/connection.php");
error_reporting(E_ALL); ini_set('display_errors', 1);
if(!isset($_SESSION['username'])) {
header("Location: login.php");
return;
}
if(isset($_POST['post'])) {
$content = strip_tags($_POST['content']);
$content = mysqli_real_escape_string($dbCon, $content);
date_default_timezone_set("Australia/Victoria");
$date = date('d-m-y h:i:sa');
$sql = "INSERT INTO comment (date, content) VALUES ('$date', '$content')";
mysqli_query($dbCon, $sql);
header("Location: members.php");
}
?>
您是否開始會話? –
對不起,它說session_start()在頂部,沒有包括它。 –
檢查您是否已正確設置會話變量。 –