0

因此,我正在为一个基本论坛创建基本脚本,并使用我的功能来获取所有者姓名,但它不会显示。尽管当我发布新帖子时,即使我通过 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;
4

0 回答 0