我已经定义了一个系统,其中为登录用户定义了配置文件设置,在此页面中称为“profileset.php”,我定义了一组查询来获取所需的数据,但是我结束了我有一个错误,我不知道为什么。第一段代码属于我的login.php,如下所示:
<?php
session_start();
if($_POST) {
$q = "SELECT * FROM users WHERE email = '$_POST[email]' AND password = SHA1('$_POST[password]')";
$r = mysqli_query($dbc, $q);
if(mysqli_num_rows($r) == 1) {
while($list = mysqli_fetch_assoc($r)) {
$_SESSION['user_id'] = $list['id'];
}
$_SESSION['username'] = $_POST['email'];
header('Location: index.php');
}
}
?>
第二段代码位于个人资料设置页面,允许用户首先查看他们的基本个人资料信息,所以这里是:
<?php
session_start();
$query = mysqli_query("SELECT * FROM users WHERE id = '".$_SESSION['user_id'] ."' ")or die(mysql_error());
$arr = mysqli_fetch_array($query);
?>
在查询之后,有一个表单,我在其中调用它,例如第一个名称,如下所示:
<label for="first">First Name</label>
<input class="form-control" type="text" name="first" id="first" value="<?php echo $arr['first']; ?>" placeholder="First Name" autocomplete="off">
按照我的逻辑,一切都已到位,但不知何故最终会出现一个空白页,任何帮助都会受到赞赏。
答案 0 :(得分:1)
您错过了连接变量$dbc
$query = mysqli_query("SELECT * FROM users WHERE id = '".$_SESSION['user_id'] ."' ")or die(mysql_error());
应该是
$query = mysqli_query($dbc, "SELECT * FROM users WHERE id = '".$_SESSION['user_id'] ."' ")or die(mysqli_error());