0

申し訳ありませんが、このトピックに適したトピックが見つかりませんでした。

私はカートページを持っていて、2 つのことを変更しています...これからお見せするコードは機能しますが、それらを結合したいと考えています。

if (!isset($_SESSION["cart_array"]) || count($_SESSION["cart_array"]) < 1)

上記のコードは、カートが空かどうかを確認します

if ($_SESSION['User']['AccessLvl'] == null) { *this code check if the user is logged in or not.*

質問 があります。カートが空でない場合にのみform、このフォームをページに表示したいと思います。カートが空である場合、フォームは表示されません。 また、ユーザーが既にサインインしている場合は、フォームが表示されます。Ifshouldn't

echo ' <form name="login" action="login.php">

</form>';

これ疲れた

if (!isset($_SESSION["cart_array"]) || count($_SESSION["cart_array"]) < 1) {
} else {

if ($_SESSION['User']['AccessLvl'] == null) {
echo ' <form name="login" action="login.php">

</form>';

} else {

}
}

概要 フォームは、ユーザーがログに記録している場合SHOULD ONLY, if user is NOT logged in 、カートに何か (アイテム) がある場合にのみ表示されます。andNOT

SHOULD NOT ユーザーがすでにログインしている場合、フォームは表示されるべきではありません。

誰か助けてください。ありがとう

4

3 に答える 3

3

これでうまくいくはずです:

if (!(!isset($_SESSION["cart_array"]) || count($_SESSION["cart_array"]) < 1) && $_SESSION['User']['AccessLvl'] == null) {
    echo ' <form name="login" action="login.php"></form>';
} else {
    ...
}

以下は if 条件の説明です。これは有効な構文ではありません:

カードが空でない場合 > !(!isset($_SESSION["cart_array"]) || count($_SESSION["cart_array"]) < 1)AND ユーザーがログインしていない場合 >$_SESSION['User']['AccessLvl'] == nullフォームが表示されます。

于 2013-07-29T08:31:25.827 に答える
1

さて、本質的には、条件で確認したいことが 2 つあります。つまり、2 つの変数があります。

変数 1: カートは空です

変数 2: ユーザーがログインしている

したがって、誰かがあなたのページにアクセスしたときに発生する可能性のあるイベントには、次の 4 つの可能性があります。

  1. カートは空で、ユーザーはログインしています

  2. カートは空で、ユーザーはログインしていません

  3. カートは空ではなく、ユーザーはログインしています

  4. カートは空ではなく、ユーザーはログインしていません

これが、フォームを表示する条件に関する最後のコメントです。

「ユーザーがすでにログインしていて、ログインしているユーザーのカートが空の場合、フォームは表示されません」

したがって、最初の部分では、ユーザーがログインしているときにフォームが必要ないということです。つまり、上記のオプション 1 と 3 ではフォームが表示されません (2 と 4 が残っています)。つまり、オプション 2 は no no であり、オプション 4 が残されています。これは、フォームを表示したい場合です。

フォームが必要な場合: カートが空ではなく、ユーザーがログインしていない

コードに変換:

カートは空ではありません:

!(!isset($_SESSION["cart_array"]) || count($_SESSION["cart_array"]) < 1)

ユーザーがログインしていません:

$_SESSION['User']['AccessLvl'] == null

AND と組み合わせると、

if (!(!isset($_SESSION["cart_array"]) || count($_SESSION["cart_array"]) < 1) && $_SESSION['User']['AccessLvl'] == null) {
    echo ' <form name="login" action="login.php"></form>';
} else {
    ...
}

@TobiasKunが彼の答えに投稿したように

于 2013-07-29T09:11:20.610 に答える