【发布时间】:2016-03-29 00:15:49
【问题描述】:
我的这段代码在开发机器上运行良好,但是当移植到生产环境时,尽管是正确的,但用户会收到警报错误的详细信息。
我猜这是 PHP 的会话问题。但是,我看到会话文件保存到服务器上的 /tmp。关于导致此问题的原因,我是否遗漏了一些明显的东西?
代码参考如下。
session_start();
include_once 'dbconnect.php';
if(isset($_SESSION['user'])!="")
{
header("Location: home.php");
}
if(isset($_POST['btn-login']))
{
$email = mysql_real_escape_string($_POST['email']);
$upass = mysql_real_escape_string($_POST['pass']);
$res=mysql_query("SELECT * FROM `USERS` WHERE `EMAIL` = '$email'");
$row=mysql_fetch_array($res);
if($row['PASSWORD']==md5($upass))
{
$_SESSION['user'] = $row['ID'];
header("Location: home.php");
}
else
{
?>
<script>alert('wrong details');</script>
<?php
}
}
【问题讨论】:
-
检查电子邮件和密码的代码不使用会话变量。为什么会是会话问题?
-
这是无效的语法
if(isset($_SESSION['user'])!="")- 你需要 2 个条件。检查它是否已设置,如果不等于。 -
为什么我觉得我在过去一天左右多次看到相同的问题/代码?编辑:stackoverflow.com/q/32094350 我是这么认为的,在其他几个人中。
-
有人发布了一个语法错误的教程,今天所有这些人都看过了,我发现 @Fred-ii- 今天一定已经 5 岁了