因此,我正在为一个基本论坛创建基本脚本,并使用我的功能来获取所有者姓名,但它不会显示。尽管当我发布新帖子时,即使我通过 Session 登录,它实际上也会将在数据库中发布它的用户 ID 发布为错误的 ID。也许我的会话有一些错误。让我知道你在想什么。
检查是否登录:
session_start();
ob_start();
include('../connect.php');
include('qa_func.php');
if(!isset($_SESSION['id'])){
header("Location: ../index.php");
} else {
获取所有者函数:
function getOwner($id){
$q = @mysql_query("SELECT username FROM users WHERE id='$id'");
if(!$q){
echo 'Error: '.mysql_error();
} else {
$res = mysql_fetch_array($q);
$name = $res['username'];
}
return $name;
}
比得到业主的名字,我只是这样做:
getOwner($res['topic_by'])
它获取用户 ID 没有问题,只是在我发布时默认将其设置为 ID: 17 出于某种原因。但是,如果我将 ID 更改为 8,这是一个真实的用户 ID,它将显示该用户名。
当它发布时,它肯定是一个问题。
如果您需要更多代码,请告诉我。
编辑:我忘记在发帖时添加输入用户 ID 的代码。
$qt = @mysql_query("INSERT INTO topics VALUES ('', \"$subject\",now(),'$cat','$id')");
if(!$qt){
echo 'Error: '.mysql_error();
}
$qst = @mysql_query("SELECT topic_id FROM topics WHERE topic_subject='$subject'");
if(!$qst){
echo 'Error: '.mysql_error();
}
$res=mysql_fetch_array($qst);
$topicId= $res['topic_id'];
$qr = @mysql_query("INSERT INTO replies VALUES('', \"$comment\", now(), '$topicId', '$id')");
if(!$qr){
echo 'Error: '.mysql_error();
}
http://gyazo.com/8ae6fcc5ed10098242d88600d5f41413 http://gyazo.com/6daeca3baf8b656adaa3f3edd926507b.png
登录脚本:
$details = mysql_fetch_assoc($query);
$usr = $details['username'];
$pass = $details['password'];
$id = $details['id'];
if($pass == $password){
$_SESSION['id'] = $id;