所以我正在为基本论坛创建基础脚本,并且我的功能是获取所有者名称,它不会显示。虽然当我发布新帖子时,它实际上将发布在数据库中的用户ID作为错误的ID发布,即使我通过Session登录也是如此。也许我的会话有些错误。勒梅知道你的想法。
检查是否已登录:
session_start();
ob_start();
include('../connect.php');
include('qa_func.php');
if(!isset($_SESSION['id'])){
header("Location: ../index.php");
} else {
获取所有者func:
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;