<?php
if(isset($_SESSION['username'],$_SESSION['password']))
$role = $_SESSION['role'];
if($_SESSION["role"] == "member"){
?>
<form name ="add_cart" method="post" action="Shoppingcart.php" onSubmit="alert('Item added!')">
<input type='hidden' name='id' id="id" value='<?php echo $id; ?>'>
<input type="text" name="quantity" id="quantity" value="1" size="3" maxlength="3">
<input type="submit" name="Add" value="ADD TO CART" style="width:150px; background-color:black; border:none; color:White "/>
</td>
</form>
<?php
}}
?>
这是我的错误:
NOTICE: UNDEFINED INDEX: ROLE IN C:\XAMPP\HTDOCS\FYP2\FOODCATALOG.PHP ON LINE 181
答案 0 :(得分:1)
这意味着$_SESSION['role']
未设置。这可能发生在这一行:
$role = $_SESSION['role'];
在使用之前,您应该始终检查是否存在数组键,除非您完全知道它将被设置(即您在代码中的其他地方硬编码)。像这样的东西
$role = '';
if(!empty($_SESSION['role'])) {
$role = $_SESSION['role'];
}
然后,您还应该有条件地使用$role
而不是$_SESSION['role']
。
if($role == "member") {
在此您知道$role
可以保证设置,因此在条件中使用它是安全的。
答案 1 :(得分:0)
if(isset($ _ SESSION [“role”])&amp;&amp; $ _SESSION [“role”] ==“member”){
答案 2 :(得分:0)
您应该先将值$_SESSION['role'];
分配给<?php
if(isset($_SESSION['username'],$_SESSION['password']))
$_SESSION['role'] = 1;
$role = $_SESSION['role'];
if($_SESSION["role"] == "member"){
?>
。快速但简单的方法是..
{{1}}