php - 更正php的错误报告

标签 php error-handling

我正在使用一个php脚本来检查已登录的用户,它包括确保他们输入了电子邮件地址和密码,连接到sql和检查数据,注册 session 以及更新登录时间。

该脚本不起作用,当用户填写表格并定向到此页面时,它将直接转到ELSE语句后底部的错误消息。它不会更新sql中的“last_login”。

我想知道如何开始对此脚本进行故障排除,该在哪里放置错误处理?

session_start();  
include 'dbconuser.php';
//post var
$email_address = $_POST['email_address'];
$password = $_POST['password'];
//check both fields completed
if((!$email_address) || (!$password))
{
  echo "Please enter ALL of the information!<br/>";
  include 'login.htm';
  exit();
}

$password = md5($password);
//connect and check data
$sql = mysqli_query($connection, "SELECT * FROM users WHERE email_address='$email_address' AND password='$password' AND activated='1'");
$login_check = mysqli_num_rows($sql);

if($login_check > 0)
{
   while($row = mysqli_fetch_array($sql))
   {   
      foreach( $row AS $key => $val )
      {   
         $key = stripslashes( $val );
      }

      // register session
      $_SESSION['first_name'] = $first_name;
      $_SESSION['last_name'] = $last_name;
      $_SESSION['email_address'] = $email_address;
      $_SESSION['user_level'] = $user_level;

      mysqli_query($connection, "UPDATE users SET last_login=now() WHERE userid='$userid'");    
      header("Location: index.php");
   }   
}
//error 
else 
{
  include 'login_error.htm';
  echo "You could not be logged in! Either the email_address and password do not match or you have not validated your membership!<br />
  Please try again!<br />";
}

最佳答案

混合mysqlmysqli首先将查询更改为mysql(已弃用),因为您使用的是其余的mysql_*

$sql = mysql_query("SELECT * FROM users WHERE email_address='$email_address' AND password='$password' AND activated='1'");
session_register()mysql_*已被弃用,因此请使用$_SESSION而不是session_register,并使用mysqli_*而不是mysql_*

关于php - 更正php的错误报告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26237316/

相关文章:

php - Laravel 4.* 到 5.*,在 Controller 中嵌套 View

php - 扩展功能以返回错误

ios - 播放结束后无法重播视频

php - 如何查找包含大写或小写非拉丁短语的结果? (PHP, MySQL)

php - 如何将表格中一行的内容从一个php页面获取到另一个页面?

PHP cURL 与 file_get_contents

php - 使用 PHP 将 MySQL 表中的数组内容分成多行

powershell - 如何处理PowerShell中的Azure存储TableOperation错误?

python - 异常错误通过问题

java - 我不断收到此错误: error: incompatible types: possible lossy conversion from double to int