我基本上是php的初学者,因为我已经转移。我的注册工作很好,登录(检查是否在数据库中)。我对使用会话(显示登录的用户)感到困惑。
这是我的login.php
:(工作良好)
<?php
$Regusername = $_POST['username'];
$Regpassword = $_POST['password'];
$dbc = @mysql_connect('localhost' , 'root','');
@mysql_select_db('market', $dbc);
$query1 = "SELECT username FROM customer WHERE password='$Regpassword' and username='$Regusername'";
$r1 = @mysql_query($query1, $dbc); // user
$row1 = mysql_fetch_array($r1); //
if ($row1['username'] == $Regusername && $Regpassword) {
session_start();
$_SESSION['username']==$row1['username'];
Header("Location: home.php");
}
else
{ print '<p> <h1> Ooops, error login, please try again. </h1></p>'; }
?>
然后在我的profile.php。在顶部我已经添加了"$link = mysql_connect('localhost', 'root', ");"
<?php
session_start(); // Start Session Data
$username = $_SESSION['username'];
?>
<?php
echo "Name: ".$_SESSION['username']."" ; //Undefined index: username in this line, the error shows up.
?>
t只显示Name:希望有人帮助我,我错过了什么或应该改变这里。非常感谢。
您从未设置会话:
$_SESSION['username']==$row1['username']; // is the same as 1=1 = true
是一个逻辑"查询",意味着会话是row = true。但是,它应该是一个将会话设置为等于行的语句。去掉一个等号。
还有,这一行看起来很混乱
if ($row1['username'] == $Regusername && $Regpassword)