0
<?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

4

3 に答える 3

2

設定されていないということ$_SESSION['role']です。これは、次の行で発生している可能性があります。

$role = $_SESSION['role'];

配列キーが設定されることが絶対にわかっていない限り (つまり、コードの別の場所にハードコードしている場合)、配列キーを使用する前にその存在を常にチェックする必要があります。だから、このようなもの

$role = '';
if(!empty($_SESSION['role'])) {
    $role = $_SESSION['role'];
}

$role次に、条件付きで useと notを更新する必要があります$_SESSION['role']

if($role == "member") {

ここで$roleは、 が設定されることが保証されていることがわかっているので、これを条件付きで使用しても安全です。

于 2013-01-22T18:53:02.570 に答える
0

if(isset($_SESSION["役割"]) && $_SESSION["役割"] == "メンバー"){

于 2013-01-22T18:58:11.457 に答える
0

何よりも先に値を割り当てる必要があり$_SESSION['role'];ます。高速だが簡単な方法は..

<?php
if(isset($_SESSION['username'],$_SESSION['password']))
  $_SESSION['role'] = 1;
  $role = $_SESSION['role'];
 if($_SESSION["role"] == "member"){
?>
于 2013-01-22T18:58:13.407 に答える