【发布时间】:2017-10-20 15:27:59
【问题描述】:
我正在制作视频门户,所以我有身份验证系统,如果我发表一些评论或图像会话消失。 我得到“未定义的索引:第 2 行 C:\xampp\htdocs\social_site\assets\login.php 中的电子邮件” AND "注意:未定义索引:第 3 行 C:\xampp\htdocs\social_site\assets\login.php 中的密码 ”。
登录.php
<?php
$email = $_POST['email'];
$password = $_POST['password'];
$sql = "SELECT * FROM members WHERE email='$email'";
$query = mysqli_query($conn, $sql);
$row = mysqli_fetch_assoc($query);
$hash_password = $row['password'];
$hash = password_verify( $password, $hash_password);
$y = $_session['username'] = $row['username'];
$x = $_session['id'] = $row['id'];
if (isset($_POST['submit'])) {
if ($hash == 0) {
header('location: index.php?fillpassword');
exit();
}
else{
$sql = "SELECT * FROM members WHERE email='$email' AND password='$hash_password'";
$result = mysqli_query($conn, $sql);
if (!$row = mysqli_fetch_assoc($result)) {
echo "<script>alert('You have no access here. You must login.')</script>";
header ("Location: ../index.php?erorr=noaccess");
}
}
}
?>
main.php
<?php
if ($_SESSION['id'] = $row['id']) {
echo "<form method='POST' action='".setComments($conn)."' enctype='multipart/form-data'>
<input type='hidden' name='size' value='1000000'>
<input type='file' name='image' value='Upload photo'>
<textarea name='text' rows='8' cols='80'></textarea>
<br/>
<input type='submit' name='upload' value='Submit'>
</form>";
}
?>
【问题讨论】:
-
在所有需要使用会话变量的php文件中添加
session_start();作为第一行代码 -
在需要会话变量的页面上添加session_start
-
我的 main.php 文件中有 session_start。如果我在 login.php 中添加 session_start() 我得到“会话已经开始 - 忽略第 2 行 C:\xampp\htdocs\social_site\assets\login.php 中的 session_start()”
标签: php html session authentication post