我正在创建一个产品详细信息页面,并且在产品详细信息页面上我正在查看是否有函数来查看$ _SESSION user_id是否与$ product user_id相同以回显某些内容,例如。当没有用户登录时,我收到很多错误,无法找到$ session user_id。我怎样才能解决这个问题,所以当没有用户登录时,它会像产品user_id的会话user_id错误一样吗?
例如:
<?php if ( $_SESSION['user_id'] != $product["user_id"]): ?>
<h3>Email van de eigenaar:</h4>
<?php echo $userarray['email'];?>
<?php endif; ?>
</div>
因此,如果会话user_id对于产品user_id是错误的,我希望在没有找到$ _SESSION user_id的情况下发生同样的事情,这回应了这个:<?php echo $userarray['email'];?>
这是我的详细信息页面:
<?php include_once ('templates/header.php'); ?>
<div class="all-content">
<div class="row">
<div class="col-lg-12 bg-warning" style="font-size:25px">
<!-- Maak variables voor gele balkje ingelogt of niet -->
<?php $overditcadeau = '<center>Over dit cadeau</center>'; ?>
<?php $mijncadeau = '<center>Mijn cadeau</center>'; ?>
<?php if ($_SESSION['user_id'] != $product["user_id"]) {
echo $overditcadeau;
} else {
echo $mijncadeau;
} ?>
</div>
</div>
<div class="container">
<br><br>
<?php $userarray = $this->db->get_Where('users', array('user_id'=>$product["user_id"]))->row_array(); ?>
<!-- Als het cadeau niet van de ingelogde gebruiker is laat email van de eigenaar van het cadeau zien -->
<?php if ( $_SESSION['user_id'] != $product["user_id"]): ?>
<h3>Email van de eigenaar:</h4>
<?php echo $userarray['email'];?>
<?php endif; ?>
</div>
<div class="container">
<div class="row">
<div class="overditcadeau" >
<div class="overditcadeau_foto">
<img src="<?php echo base_url(); ?>upload/<?php echo $product['product_foto']; ?>" id="cadeaufoto_overditcadeau">
</div>
<div class="overditcadeau_tekst1">
<h1> <div class="product_naam"> <?php echo $product['product_naam']; ?> </div> </h1>
<h3>Over dit cadeau</h3>
<div class="product_beschrijving"><?php echo $product['product_beschrijving']; ?> </div>
</div>
<div class="overditcadeau_tekst2">
<!--Als het cadeau niet van de ingelogde gebruiker is laat een button zien dat heet cadeau aanvragen -->
<div class="cadeau_aanvragen">
<?php if ( $_SESSION['user_id'] != $product["user_id"]): ?>
<a href="<?php echo base_url() ?>/Cadeau_ontvang"> <button type="button" class="btn btn-default">Ik wil dit cadeau!</button></a>
<button onclick="myFunction()">Ik wil dit cadeau!</button>
<script>
function myFunction() {
alert("Uw cadeau aanvraag is geaccepteerd, Klik hier om een bericht naar de eigenaar van het cadeau te sturen.");
}
</script>
<?php endif; ?>
</div>
<!--Als het cadeau van de ingelogde gebruiker is laat een button zien dat heet cadeau bewerken-->
<div class="cadeau_bewerken">
<?php if ( $_SESSION['user_id'] == $product["user_id"]): ?>
<a class="btn btn-primary" href="<?php echo base_url() ?>/KdGwController/details_bewerken/<?php echo $product['product_id']; ?>"> Cadeau bewerken </a>
<?php endif; ?>
</div>
<br>
<div class="cadeau_verwijderen">
<?php if ( $_SESSION['user_id'] == $product["user_id"]): ?>
<a class="btn btn-primary" href="<?php echo base_url() ?>/Delete_ctrl/delete_product_id/<?php echo $product['product_id']; ?>"> Cadeau verwijderen </a>
<?php endif; ?>
</div>
<!--Als het cadeau van de ingelogde gebruiker is laat aantal geïnteresseerden zien-->
<div class="aantal_geinteresseerden">
<?php if ( $_SESSION['user_id'] == $product["user_id"]): ?>
<h4>Aantal geïnteresseerden:</h4>
<?php endif; ?>
</div>
<?php if ( $_SESSION['user_id'] != $product["user_id"]): ?>
<div class="aangeboden_door"> Aangeboden door:
<tr>
<td>
<a href="<?php echo base_url() . 'User/userdetails/'.$product['user_id']?>">
<?php echo $userarray['voornaam'];?>
</a>
</td>
</tr>
</div>
<?php endif; ?>
</div>
</div>
</div>
</div>
<div class="container">
<footer>
<p>© kadokado 2017, Inc.</p>
</footer>
<hr>
</div>
</div>
<div class="clearfix"></div>
<?php include_once ('templates/footer.php'); ?>
答案 0 :(得分:3)
使用isset()
检查变量是否已设置。
如下所示: -
if (isset($_SESSION['user_id']) && isset($product["user_id"]) && $_SESSION['user_id'] != $product["user_id"]) {
注意: - 对页面上使用的其他变量执行相同的操作。
所以整个代码需要如下: -
<?php include_once ('templates/header.php'); ?>
<div class="all-content">
<div class="row">
<div class="col-lg-12 bg-warning" style="font-size:25px">
<!-- Maak variables voor gele balkje ingelogt of niet -->
<?php $overditcadeau = '<center>Over dit cadeau</center>'; ?>
<?php $mijncadeau = '<center>Mijn cadeau</center>'; ?>
<?php if (isset($_SESSION['user_id']) && isset($product["user_id"]) && $_SESSION['user_id'] != $product["user_id"]) {
echo $overditcadeau;
} else {
echo $mijncadeau;
} ?>
</div>
</div>
<div class="container">
<br><br>
<?php $userarray = $this->db->get_Where('users', array('user_id'=>$product["user_id"]))->row_array(); ?>
<!-- Als het cadeau niet van de ingelogde gebruiker is laat email van de eigenaar van het cadeau zien -->
<?php if (isset($_SESSION['user_id']) && isset($product["user_id"]) && $_SESSION['user_id'] != $product["user_id"]): ?>
<h3>Email van de eigenaar:</h4>
<?php echo $userarray['email'];?>
<?php endif; ?>
</div>
<div class="container">
<div class="row">
<div class="overditcadeau" >
<div class="overditcadeau_foto">
<img src="<?php echo base_url(); ?>upload/<?php echo $product['product_foto']; ?>" id="cadeaufoto_overditcadeau">
</div>
<div class="overditcadeau_tekst1">
<h1> <div class="product_naam"> <?php echo $product['product_naam']; ?> </div> </h1>
<h3>Over dit cadeau</h3>
<div class="product_beschrijving"><?php echo $product['product_beschrijving']; ?> </div>
</div>
<div class="overditcadeau_tekst2">
<!--Als het cadeau niet van de ingelogde gebruiker is laat een button zien dat heet cadeau aanvragen -->
<div class="cadeau_aanvragen">
<?php if (isset($_SESSION['user_id']) && isset($product["user_id"]) && $_SESSION['user_id'] != $product["user_id"]): ?>
<a href="<?php echo base_url() ?>/Cadeau_ontvang"> <button type="button" class="btn btn-default">Ik wil dit cadeau!</button></a>
<button onclick="myFunction()">Ik wil dit cadeau!</button>
<script>
function myFunction() {
alert("Uw cadeau aanvraag is geaccepteerd, Klik hier om een bericht naar de eigenaar van het cadeau te sturen.");
}
</script>
<?php endif; ?>
</div>
<!--Als het cadeau van de ingelogde gebruiker is laat een button zien dat heet cadeau bewerken-->
<div class="cadeau_bewerken">
<?php if (isset($_SESSION['user_id']) && isset($product["user_id"]) && $_SESSION['user_id'] == $product["user_id"]): ?>
<a class="btn btn-primary" href="<?php echo base_url() ?>/KdGwController/details_bewerken/<?php echo $product['product_id']; ?>"> Cadeau bewerken </a>
<?php endif; ?>
</div>
<br>
<div class="cadeau_verwijderen">
<?php if (isset($_SESSION['user_id']) && isset($product["user_id"]) && $_SESSION['user_id'] == $product["user_id"]): ?>
<a class="btn btn-primary" href="<?php echo base_url() ?>/Delete_ctrl/delete_product_id/<?php echo $product['product_id']; ?>"> Cadeau verwijderen </a>
<?php endif; ?>
</div>
<!--Als het cadeau van de ingelogde gebruiker is laat aantal geïnteresseerden zien-->
<div class="aantal_geinteresseerden">
<?php if (isset($_SESSION['user_id']) && isset($product["user_id"]) && $_SESSION['user_id'] == $product["user_id"]): ?>
<h4>Aantal geïnteresseerden:</h4>
<?php endif; ?>
</div>
<?php if ( $_SESSION['user_id'] != $product["user_id"]): ?>
<div class="aangeboden_door"> Aangeboden door:
<tr>
<td>
<a href="<?php echo base_url() . 'User/userdetails/'.$product['user_id']?>">
<?php echo $userarray['voornaam'];?>
</a>
</td>
</tr>
</div>
<?php endif; ?>
</div>
</div>
</div>
</div>
<div class="container">
<footer>
<p>© kadokado 2017, Inc.</p>
</footer>
<hr>
</div>
</div>
<div class="clearfix"></div>
<?php include_once ('templates/footer.php'); ?>
答案 1 :(得分:0)
唯一的方法是检查$ _SESSION ['user_id']是否设置在你使用它的任何地方。
作为一个快速修复(如果你有很多对$ _SESSION ['user_id']的引用),你可以放到第二行:
if (empty($_SESSION['user_id'])) $_SESSION['user_id'] = -1;