0

わかりました。私のサイトには、ユーザーを検索してプロフィールに移動できるリンクがあります。ユーザー名を入力すると、次のページでユーザー名が存在するかどうかが表示され、リンクが表示されます。私はすべてを正しくコーディングしたと思いますが、明らかにそうではありません。

何が起こるかは次のとおりです: (私の Web サイトは 2 つのページをエコーし​​ます。1 つはログインしている場合、もう 1 つはログインしていない場合です)。ログインしていて実際のユーザー名を入力すると、I want it to というテキストとリンクが正しく表示されます。ただし、ログイン時に偽のユーザー名を入力すると、このページに必要なテキストではなく、デフォルトのテキストが表示されるだけです。

ログインしていない場合は、何を入力しても、デフォルトのテキストのみが表示されます。

誰かが私を助けて、このコードを見てもらえますか?

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

OK、これがテキストを表示する部分です。

' . $displaytext . '

ログインしているかどうかにかかわらず、上記のコードが同じであることを再確認しましたが、結果は依然として異なります。

編集:

http://www.coinawards.net63.net/で、彼が自分のために何をしているのかを見ることができます

黄色の「ユーザー検索」ボタンをクリックして、奇妙なランダムな文字列を入力してください。

以下のコードで新しいページに移動します。

4

4 に答える 4

1

まずSTOP using mysql_* は維持されなくなり、新しいプロジェクトでは使用しないことをお勧めしますhttp://php.net/manual/en/function.mysql-queryにあるように、pdo または mysqli を調べてください。 .php

私が見ることができる問題は、クエリが結果を返すかどうかを確認していないことです。これが、条件が 1 つの結果のみを返す理由です。

于 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 に答える
1
else if ($row3['Username'] !== $usersearched)

する必要があります

else if ($row3['Username'] != $usersearched)
于 2012-11-17T17:39:51.267 に答える
0

わかりました、これを試してください。$row[] を二重引用符または単一引用符で試してください。2 つが混在しています。

$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 に答える