PHP帖子和条件错误

时间:2012-11-17 17:35:30

标签: php mysql database post conditional

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

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

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

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

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);

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

'。 $ displaytext。 “

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

编辑:

你可以在http://www.coinawards.net63.net/

看到他自己发生了什么

只需点击黄色的“用户搜索”按钮,然后输入一系列奇怪的随机字符。

它将带您进入包含以下代码的新页面。

4 个答案:

答案 0 :(得分:1)

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

应该是

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

答案 1 :(得分:1)

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

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

答案 2 :(得分: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.";

    }

}

答案 3 :(得分: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);