如何使用$_SESSION变量在与产品列表相同的页面上显示产品?PHP,HTML



我有一个电子商务页面作为我大学的项目。该网站的所有页面都以幻灯片的形式位于一个index.php中。我的问题是在用户点击的开关上显示产品。幻灯片3是产品列表,其中显示了所有的产品。点击产品后,链接将带您进入幻灯片7,这是一个产品页面,我将根据数据库中的id加载产品。

我也尝试了很多方法使它发挥作用。

我的教授说,最好的方法是使用$_SESSION变量,但我不知道该怎么做。有人能给我一个关于如何解决这个问题的建议吗。

例如,如何使用SESSION在幻灯片7的H2中显示产品名称?

<div class="slide" id="3">
<?php
$con = mysqli_connect("localhost:3306", "root", "");
mysqli_select_db($con, "users");
$sql = "select * from Products where featured=1";
$featured = $con->query($sql);
?>
<div class="content third-content">
<div class="container-fluid">
<div class="row">
<div class="owl-carousel owl-theme">
<?php
?>
<?php while ($product = mysqli_fetch_assoc($featured)): ?>
<div class="col-md-12">
<div class="featured-item"> 
<a href="#7" id="p_click"><img src="<?= $product['image']; ?>" alt=""></a>
<div class="down-content">
<h4><?= $product['title']; ?></h4>
<h5><?= $product['s_description']; ?></h5>
<h6>€<?= $product['price']; ?></h6>
</div>
</div>
</div>
<?php endwhile; ?>
</div>
</div>
</div>
</div>
</div>       

这是你点击产品(即链接(后收到的信息。

<div class="slide" id="7" >
<div class="content seventh-content">
<div class="container-fluid">
<form id="product" action="" method="post">
<div class="row">
<div class="col-md-12">

<h2></h2>
</div>
</div>
</form>
</div>
</div>

您可以修改您的"a"标签,将url中点击的产品id设置为:

<a href="?productId=<?php echo $product['id'];?>#7" id="p_click"><img src="<?= $product['image']; ?>" alt=""></a>

之后,您可以检查产品id是否已在url中设置为:

isset($_GET['productId'])

如果设置了productId,则表示该产品已被单击,现在我们应该获取该产品的数据。

你可以把你的幻灯片制作成这样:

<?php if(isset($_GET['productId'])) : ?>
<?php
$con = mysqli_connect("localhost:3306", "root", "");
$prodId = $_GET['productId'];
mysqli_select_db($con, "users");
$sql = "select * from Products where id='$prodId'";
$query = $con->query($sql);
?>
<?php while ($product = mysqli_fetch_assoc($query)): ?>
<div class="slide" id="7" >
<div class="content seventh-content">
<div class="container-fluid">
<form id="product" action="" method="post">
<div class="row">
<div class="col-md-12">

<h2><?php echo $product["title"]; ?></h2>
</div>
</div>
</form>
</div>
</div>
<?php endwhile; ?>
<?php endif; ?>

最新更新