簡體   English   中英

為什么我不能在 php 中的 if 循環中訪問變量

[英]Why can't i access variable inside if loops in php

我正在制作簡單的購物車,我真的被最終價格(即$fp變量)所困擾。 總是有: Notice: Undefined variable: fp in C:\xampp\htdocs...一切正常,從數據庫中獲取數據,包括價格,但是當我想顯示 $fp(最終價格)時顯示該錯誤。 if($row['ID'] == $id)循環之后,我嘗試在 else 語句中將其設置為 0,但沒有發生任何事情,我試圖使其成為全局變量,例如:

global $fp; 
$fp = $fp + intval($row['price']);

當我這樣做時,錯誤消失了,但它沒有做任何事情(空白)。 也許我只是坐得太久了,但我無法理解為什么我無法訪問該變量或正在發生的事情。

<section class="cart">
                <?php
                if(isset($_SESSION['cart'])){
                    $product_id = array_column($_SESSION['cart'],'product_id');
                    $sql = "SELECT * FROM muzi;";
                    $result = mysqli_query($conn, $sql);
                    while($row = mysqli_fetch_assoc($result)){
                        foreach($product_id as $id){
                            if($row['ID'] == $id){          
                echoItem($row['fotografia'],$row['price'],$row['znacka'],$row['konkretne'],$size);
                                $fp = $fp + intval($row['price']);
                            }
                        }
                    }
                }else{
                    echo "<h5>Cart is empty</h5>";
                }
               ?>
   <h2 class="h2-cart-item">PRICE: <?php $fp;?> €</h2>
</section>
function echoItem($productIMG, $productPrice, $znacka, $typ_oblecenia){
    $product = "
    <article class='clearfix'>
        <img src='../img/$productIMG' alt='hihi' style='width: 10%;'>
        <div class='info-text-cart'>
            <p>specific type: $typ_oblecenia</p>
            <p>Brand: $znacka</p>
            <button><i class='fas fa-times'></i></button>
        </div>
        <div class='important-info-cart'>
            <p>Price: $productPrice €</p>
            <p>quantity: 1</p>
        </div>
    </article>
    ";
    echo $product;
}

ps:在打字方面我擁有一切。 我只是將其中涉及的一些內容翻譯成英文,這樣更有意義。

$fp從未像前面提到的那樣被聲明過。

如果您將其聲明為全局(或不聲明),您應該能夠在第二個代碼塊上使用它,您嘗試時沒有看到任何內容的原因是因為您忘記了顯它。

一個工作示例是:

<section class="cart">
                <?php
                $fp = 0;
                if(isset($_SESSION['cart'])){
                    $product_id = array_column($_SESSION['cart'],'product_id');
                    $sql = "SELECT * FROM muzi;";
                    $result = mysqli_query($conn, $sql);
                    while($row = mysqli_fetch_assoc($result)){
                        foreach($product_id as $id){
                            if($row['ID'] == $id){          
                echoItem($row['fotografia'],$row['price'],$row['znacka'],$row['konkretne'],$size);
                                $fp = $fp + intval($row['price']);
                            }
                        }
                    }
                }else{
                    echo "<h5>Cart is empty</h5>";
                }
               ?>
   <h2 class="h2-cart-item">PRICE: <?php echo $fp;?> €</h2>
</section>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM