Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用会话变量创建收藏夹页面_Php_Html - Fatal编程技术网

Php 使用会话变量创建收藏夹页面

Php 使用会话变量创建收藏夹页面,php,html,Php,Html,我试图创建一个收藏夹页面,用户从“菜单”中选择项目,然后将项目放置在收藏夹页面中。我正在使用会话变量 $_SESSION['favourites'] 我正在使用 session_start('session.php') 在会话_start中,它包括 <?php session_start(); ?> 当我将两个文件组合在一起时,“收藏夹”功能会起作用,但当我在另一个页面上显示收藏夹时,它不会起作用 这是菜单页 $conn = mysqli_connect("

我试图创建一个收藏夹页面,用户从“菜单”中选择项目,然后将项目放置在收藏夹页面中。我正在使用会话变量

$_SESSION['favourites']
我正在使用

session_start('session.php')

在会话_start中,它包括

<?php 

session_start(); 

?>


当我将两个文件组合在一起时,“收藏夹”功能会起作用,但当我在另一个页面上显示收藏夹时,它不会起作用

这是菜单页

$conn = mysqli_connect("localhost", "root", "", "restaurant");
$sql= "SELECT * FROM menu ORDER BY id ASC";
$result=mysqli_query($conn, $sql);
$resultcheck=mysqli_num_rows($result);


if(isset($_POST["add_to_favourite"]))
{
    if(isset($_POST["favourites"])) 
    {
        $food_item_id = array_column($_SESSION["favourites"], "item_id");
            if(!in_array($_GET["id"], $food_item_id))
            {
                $count = count($_SESSION["favourites"]);
                $item_array = array(
                    'item_id' => $_GET["id"],
                    'item_name' => $_POST["hidden_name"],
                    'item_price' => $_POST["hidden_price"],
                    'item_desc' => $_POST["hidden_desc"]
                );
                $_SESSION["favourites"][$count] = $item_array;
            }else{
                echo '<script>alert(You have already added this item to Favourites")</script>';
            }
        }
        else{
            $food_array = array(
                'item_id' => $_GET["id"],
                'item_name' => $_POST["hidden_name"],
                'item_price' => $_POST["hidden_price"],
                'item_desc' => $_POST["hidden_desc"]
            );
            $_SESSION["favourites"][0] = $food_array;
    }
}

?>
<!-- Start of HTML  -->
<section id="intro">
        <div class="hero-global container">
            <h1 class="global-header">Detailed Menu</h1>
        </div>
</section>

<div class="container">
        <ul class="food-cards"> 
<?php
if($resultcheck>0)
{
    while($row=mysqli_fetch_assoc($result))
    {
?>
      <li class="card-info">
            <form method="post" action="favourites.php?action=add&id=<?php echo $row["id"]; ?>">            
                <div class="food-card">
                    <div class="food-pic">
                        <img src="./assets/english-breakfast.png" alt="">
                    </div>
                    <div class="food-cont">
                        <h2 class="food-title">
                            <?php 
                                echo $row['name']
                            ?>
                        </h2>
                        <p class="food-desc"> 
                            <?php echo $row["description"]; ?> 
                        </p>
                        <div class="price-fav-btn">
                            <div class="price"> 
                                <?php
                                    echo "€".$row['price']
                                ?>
                            </div>
                            <div class="atf-btn">
                                <input class="fav-btn" type="submit" name="add_to_favourite" value="Add to Favourites"/>
                            </div>
                            <input type="hidden" name="hidden_name" value="<?php echo $row["name"]; ?>" />
                            <input type="hidden" name="hidden_price" value="<?php echo $row["price"]; ?>" />
                            <input type="hidden" name="hidden_desc" value="<?php echo $row["description"]; ?>" />
                        </div>
                    </div>
                </div>
            </form>
         </li>
    <?php
    }
}
?>

    </ul> <!-- end of ul list -->
</div>
$conn=mysqli_connect(“本地主机”、“根”、“餐厅”);
$sql=“按id ASC从菜单顺序中选择*”;
$result=mysqli\u查询($conn,$sql);
$resultcheck=mysqli_num_行($result);
如果(isset($\u POST[“添加到收藏夹”]))
{
如果(isset($_POST[“收藏夹”]))
{
$food_item_id=数组_列($_SESSION[“收藏夹”],“item_id”);
如果(!在数组中($\u GET[“id”],$food\u item\u id))
{
$count=计数($_会话[“收藏夹]);
$item\u数组=数组(
'item_id'=>$\u GET[“id”],
'项目名称'=>$\u帖子[“隐藏名称”],
'项目价格'=>$发布[“隐藏价格”],
'item_desc'=>$\u POST[“hidden_desc”]
);
$\u会话[“收藏夹”][$count]=$item\u数组;
}否则{
回显“提醒(您已将此项目添加到收藏夹”);
}
}
否则{
$food\u数组=数组(
'item_id'=>$\u GET[“id”],
'项目名称'=>$\u帖子[“隐藏名称”],
'项目价格'=>$发布[“隐藏价格”],
'item_desc'=>$\u POST[“hidden_desc”]
);
$\u会话[“收藏夹”][0]=$food\u数组;
}
}
?>
详细菜单
  • 您必须将会话_start()放在两个页面中。不清楚您是否这样做了?您没有展开“不工作”,因此不清楚您是否有特定的错误消息或其他意外行为?为什么要删除?
    <?php 
    
            if(isset($_GET["action"]))
            {
                if($_GET["action"] == "delete")
                {
                    foreach($_SESSION["favourites"] as $keys => $values)
                    {
                        if($values["item_id"] == $_GET["id"])
                        {
                            unset($_SESSION["favourites"][$keys]);
                            echo '<script>alert("Item Removed")</script>';
                            echo '<script>window.location="menudetails.php"</script>';
                        }
                    }
                }
            }
    ?> 
    <div><h1>Favourites</h1></div>
    
    <table>
        <tr style="text-align: left">
            <th width="30%">Name</th>
            <th width="60%">Description</th>
            <th width="5%">Price</th>
            <th width="5%">Remove</th>
        </tr>
    <?php 
    
        if(!empty($_SESSION["favourites"]))
        {
            foreach($_SESSION["favourites"] as $key => $value)
            {
            
            ?>
                <tr>
                    <td width: 20%><?php echo $value["item_name"] ?></td>
                    <td style="text-align: left"><?php echo $value["item_desc"]?></td>
                    <td><?php echo '€'.$value["item_price"]?></td>
                    <td><a href="favourites.php?action=delete&id=<?php echo $value["item_id"]; ?>"><span class="fav-btn">Remove</span></a></td>
                </tr>
            
    
            
                <tr>
            </table>
    
            
    
                <?php
            }
        }
    
                ?>