私のサイトには、お互いに親睦をしているユーザー同士がそれぞれの写真を見ることができる機能があります。たとえば、Conor
という名前でログインしていて、Alice's
の写真を表示したい場合、ConorはAliceと友好的でなければならず、AliceはConorを友人にする必要があります。else if文が実行されるときに文が実行される
私はfavourites
と呼ばれる私のデータベース内のテーブルがある - すべての友達リクエストを格納します。
id: 1
favourited_who: Alice
favourited_by: Conor
id: 2
favourited_who: Conor
favourited_by: Alice
彼らの両方がお互いfavourited
を持っている:favourites
は、2つの行を持っていると仮定します。
次のスニペットを考えてみましょう:
<?php
$get_favs_q = mysqli_query ($connect, "SELECT * FROM favourites");
$getting_favs = mysqli_fetch_assoc($get_favs_q);
$user_favourited = $getting_favs['favourited_who'];
$user_favourited_by = $getting_favs['favourited_by'];
/*************************/
if ($user == $username || $user_favourited == $user && $user_favourited_by == $username
|| $user_favourited == $username && $user_favourited_by == $user){
// $user = name in the URL after ?= - As we are on Alice's page .. $user equals Alice
// $username = session variable for logged in user - $username = Conor
// If both users have each other favourited, then the code to display images appears here.
} else {
echo " <span style='margin-left: 10px;'>
You and $ufirstname must favourite each other to view each others backstage.
</span>";
}
?>
私はすべてのシナリオの$user
は、メッセージとIドンをエコー、else文は常に実行されている、$username
をお気に入り化(favourited)およびその逆が、しているかどうかを確認するためにカバーしています理由を理解できない。
正しいデータが得られているかどうかを確認するために、異なる値をエコーアウトします。 – noahnu