我希望在登录过后更改我的默认菜单 和 我有像我这样的应用程序的代码
的index.php
<?php session_start(); ?>
<html>
<head></head>
<body>
<ul>
<?php if($_SESSION['loggedIn'] == '1' ): ?>
<li><a href="../templates/" title="Home" id="activated">Home</a></li>
<li><a href="catalog.html" title="Catalog" >Catalog</a></li>
<li><a href="signup-for-partners.html" title="Partners">Become Our Partner</a></li>
<li><a href="About-us.html" title="About Us">About Us</a></li>
<?php else: ?>
<li><a href="../templates/" title="" >Home</a></li>
<li><a href="account.html" title="" >My Account</a></li>
<li><a href="catalog.html" title="" >Catalog</a></li>
<li><a href="logout.php" title="" >logout</a></li>
<?php endif; ?>
</ul>
</body> </html>
这是我使用验证码的过程
<?php
session_start();
include 'conection.php';
if($_POST['captcha'] == $_SESSION['captcha']){
$username = $_POST['UserID'];
$password =$_POST['Password'];
$sql = "select * from login where username='".$username."' and password='".$password."'";
#echo $sql."<br />";
$query = mysql_query($sql) or die (mysql_error());
if($query){
$row = mysql_num_rows($query);
if($row > 0){
$_SESSION['loggedIn']='1';
$_SESSION['UserID']=$username;
header('Location: ../templates/');
}
else {
header('Location: error.php');
}
}
}
else{
header('Location: ../templates/');
}
?>
并且它出现错误
注意:未定义的索引:登录 第78行的C:\ xampp \ htdocs \ Templates \ index.php
在process.php中定义的loggedIn
为什么它不起作用?
答案 0 :(得分:0)
你必须测试你的会话是否与isset()
一起存在,如果它的价值很高: - )
if(isset($_SESSION['loggedIn']) && $_SESSION['loggedIn'] == '1' ){ ... }
顺便说一句,不推荐使用mysql_ *:你应该使用PDO或Mysqli 看看:Why shouldn't I use mysql_* functions in PHP?
而且,撰写if($var == 1)
和撰写if($var)
是一回事:1可以是true
,&#34; 1&#34;作为string
,或1作为int