0

好的,所以我的网站有一个链接,您可以在其中搜索用户并转到他们的个人资料。您输入一个用户名,然后在下一页上,它会告诉您该用户名是否存在,并为您提供一个链接。我想我已经正确编码了所有内容,但显然不是。

这是发生的事情:(我的网站回显两个页面,一个如果您已登录,一个如果您未登录)。如果您已登录并且输入了真实的用户名,那么它将正确显示我想要的文本和链接。但是,如果您在登录时输入假用户名,它只会显示默认文本,而不是我必须在此页面上使用的文本。

当您未登录时,无论您输入什么,它都只显示默认文本。

有人可以帮我看看这段代码吗?

displaytext 的默认文本:

$displaytext = "Error";

$srstrSQL = "SELECT * FROM Users_For_CoinAwards WHERE Username = '$usersearched'";

$rs3 = mysql_query($srstrSQL, $connection);

while($row3 = mysql_fetch_array($rs3)){

if ($row3['Username'] == $usersearched)

{

$displaytext = "The user " . $row3["Username"] . " has been found. Please click on the below link to visit their profile.";

$displaylink = "<a href='http://www.coinawards.net63.net/user/" . $row3['Username'] . ".php' id='displaylink'>" . $row3['Username'] . "</a>";

}

else

{

$displaytext = "Sorry, the user " . $row3["Username"] . " was not found. Please check your query and try again.";

}

}

$row3 = mysql_fetch_array($rs3); print_r($row3);

好的,这是显示文本的部分:

' . $显示文本。'

我仔细检查以确保无论您是否登录,上面的代码都是相同的,但结果仍然不同。

编辑:

你可以在http://www.coinawards.net63.net/看到他为自己发生的事情

只需单击黄色的“用户搜索”按钮并输入奇怪的随机字符组合。

它将带您到带有以下代码的新页面。

4

4 回答 4

1
else if ($row3['Username'] !== $usersearched)

应该

else if ($row3['Username'] != $usersearched)
于 2012-11-17T17:39:51.267 回答
1

首先停止使用 mysql_* 不再维护,建议您不再在新项目中使用它,请查看 pdo 或 mysqli,如下所示http://php.net/manual/en/function.mysql-query .php

我可以看到的问题是您没有检查您的查询是否返回任何结果,这就是为什么您的条件只返回一个结果。

于 2012-11-17T17:44:12.113 回答
1

由于这是一个二元条件(即用户存在或存在,因此根本不需要else if ($row3['Username'] != $usersearched). 将其替换为else.

while($row3 = mysql_fetch_array($rs3)){

    if ($row3['Username'] == $usersearched){

        ... Your code here ...


    }else{

        $displaytext = "Sorry, the user " . $usersearched . " was not found. Please check your query and try again.";

    }

}
于 2012-11-17T17:44:18.687 回答
0

好的,试试这个。请尝试使用双引号或单引号 $row[],您将两者混合。

$srstrSQL = "SELECT * FROM Users_For_CoinAwards WHERE Username = '$usersearched' ";

$rs3 = mysql_query($srstrSQL, $connection);

while($row3 = mysql_fetch_array($rs3)){

 $displaytext = "Error";

if (mysql_num_rows($rs3) == 1)

{

echo $displaytext ."The user " . $row3["Username"] . " has been found. Please click on the below link to visit their profile.";

echo $displaylink ."<a href='http://www.coinawards.net63.net/user/" . $row3['Username'] . ".php' id='displaylink'>" . $row3['Username'] . "</a>";

}

else

{

echo $displaytext."Sorry, the user " . $row3["Username"] . " was not found. Please check your query and try again.";

}

}

$row3 = mysql_fetch_array($rs3); print_r($row3);
于 2012-11-17T18:02:42.397 回答