我已经定义了一个系统,其中有一个为登录用户定义的配置文件设置,在这个名为"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">
按照我的逻辑,一切都准备好了,但不知何故,它只剩下一页空白,任何帮助都值得感激。
您错过了连接变量$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());