我的索引页面有一个登录和注销会话。
因此,它使用用户的电子邮件作为会话,当用户登录时,它使用存储在会话中的电子邮件从fb获取详细信息。
但是当用户注销时,它显示的错误
注意:未定义的索引:电子邮件在 D:\xampp\htdocs\site\index.php
我的代码如下:
<?php
//15 2 2015
session_start();
?>
<?php
$email = $_SESSION['email'];
$sql = "SELECT * FROM landlords WHERE email = '$email' ";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
while($row = $result->fetch_assoc()) {
?>
<?php
echo '<li class="dropdown submenu">';
echo '<a href="#" class="dropdown-toggle">'; echo ($row["name"]); echo '</a>';
echo '<ul class="dropdown-menu">';
echo '<li><a href="myaccount.php">My Account</a></li>';
echo '<li><a href="logout.php">Log Out</a></li>';
echo '</ul>';
echo '</li>';
?>
<?php }
} else {
echo '<li> <a href="signin.php"><span class="icon-user"></span>Sign In</a></li>';
}
?>
忽略多个 php 开口。
因此,当用户登录时,它工作正常,但是当用户注销时,它会给出错误
注意:未定义的索引:电子邮件在 D:\xampp\htdocs\site\index.php
任何帮助,不胜感激。
问题是您没有保护电子邮件会话 var 未设置的情况,就像会话未设置(注销(之后一样。试试这个:
$email = @$_SESSION['email'];
if (!empty($email)) {
$sql = "SELECT * FROM landlords WHERE email = '$email' ";
$result = $conn->query($sql);
}
if (isset($result) && $result->num_rows > 0) {
。