Php 我的登录脚本在本地工作,但不在线

Php 我的登录脚本在本地工作,但不在线,php,notepad++,Php,Notepad++,我试图把一个简单的登录密码脚本上的网站。在本地服务器上执行所有重定向都很好,但是当我将其联机时,如果我将用户或密码留空,它会按照应该的方式重定向到错误页面。但是,如果我在用户和密码输入中放入任何内容,它不会重定向到secindex.php页面,而是停留在loginold.php页面上,没有重定向。有人能看看这个并提出一些建议吗 Login.php <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http:

我试图把一个简单的登录密码脚本上的网站。在本地服务器上执行所有重定向都很好,但是当我将其联机时,如果我将用户或密码留空,它会按照应该的方式重定向到错误页面。但是,如果我在用户和密码输入中放入任何内容,它不会重定向到secindex.php页面,而是停留在loginold.php页面上,没有重定向。有人能看看这个并提出一些建议吗

Login.php

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"    "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Untitled Page</title>
</head>
<body bgcolor="#00CCFF">

<div style='position:fixed;left:0px;top:-20px;text-align:center;'>
  <h2>You MUST Login to Shopflow to access the system</h2></div> 
  <form method='post' action='loginold.php' target='_top'> 

  <?php
  session_start();
  include('dbcon/dbconnect.php');
  $con = mysqli_connect($host,$user,$password,$db);
  $empresult = mysqli_query($con, "SELECT Emp_ID, Alias from employees   where EmpStatus != 'Inactive' AND Alias != 'Unassigned' ORDER BY Alias");
  echo "<div style='position:fixed;left:125px;top:70px;width:130px;background-color: #00CCFF;text-align:center;border: 1px #000000 solid;'>";
  echo "<span style='color:#000000;font-family:Arial;font-size:16px;'>Login Name</span></div>";
  $dropdown = "<select name='empid' style='position:fixed;left:125px;top:90px;width:132px;border: 1px #000000 solid;font-size:16px' >";
  $dropdown .= "\r\n<option value='' selected='selected' ></option>";
  while($row = mysqli_fetch_assoc($empresult)) {
  $dropdown .= "\r\n<option value='{$row['Emp_ID']}'>{$row['Alias']}  </option>";
  }
  $dropdown .= "\r\n</select>";
  echo $dropdown . "<br>";
  echo "</div>";
  ?>
  <div style='position:fixed;left:125px;top:130px;width:132px;background-color: #00CCFF;text-align:center;border: 1px #000000 solid;'>
  <span style='color:#000000;font-family:Arial;font-size:16px;'>Password</span></div>

  <input type='password' name='pword' style='position:fixed;left:125px;top:150px;width:130px;border: 1px #000000 solid;font-size:16px' >
  </div>

  <input type='submit' style='position:fixed;left:125px;top:190px;width:130px;border: 1px #000000 solid;font-size:16px' value='Login'>
  </form>
</body>
</head>
loginold.php

<?php
session_start(); // Starting Session
$error=''; // Variable To Store Error Message
if (empty($_POST['empid']) || empty($_POST['pword'])) {
$error = "Username or Password is invalid";
header("location: error.html"); // Redirecting To Other Page
}
include('php/login.php');
elseif ($rows == 1) {
$_SESSION['login_user']=$username; // Initializing Session
header("location: secindex.php"); // Redirecting To Other Page
} else {
$error = "Username or Password is invalid";
header("location: error404.html"); // Redirecting To Other Page
}
?>
php/login.php

<?php
include('dbcon/dbconnect.php');
$con = mysqli_connect($host,$user,$password,$db);
// Define $username and $password
$username=$_POST['empid'];
$password=$_POST['pword'];
// Establishing Connection with Server by passing server_name, user_id and password as a parameter
// To protect MySQL injection for Security purpose
$username = stripslashes($username);
$password = stripslashes($password);
$username = mysql_real_escape_string($username);
$password = mysql_real_escape_string($password);
// Selecting Database
// SQL query to fetch information of registerd users and finds user match.
$tresult = mysqli_query($con, "SELECT * FROM employees WHERE PassWord='$password' AND Emp_ID='$username'");
$rows = mysqli_num_rows($tresult);
?>

编辑loginold.php并将coce for php/login.php添加到上述文件中

使用一些高级文本编辑器,例如,将源代码文件保存在Unicode中,然后再次上载到服务器。 在某些情况下,使用MS记事本,它会在文件开头添加隐藏符号,将其视为在标题和会话之前发送的文本,并导致此类错误

从记事本++中签出以下屏幕快照:


您可能需要更改:$username=mysql\u real\u escape\u string$username$password=mysql\u real\u escape\u string$password;to$username=mysqli\u real\u escape\u字符串$username$password=mysqli\u real\u escape\u string$password;您是否收到任何错误?在将$con variableno errors分配到secindex.php页面后,很可能会收到数据库错误var_dumpmysqli_connect_error。浏览器的地址框中只有一个带有loginold.php的空白页面。同样,从mysql\u real\u escape\u字符串更改为mysqil\u real\u escape\u字符串也没有什么区别。为了清楚起见,如果用户或密码为空,但如果在用户和密码字段中都放置了任何内容,则脚本可以重定向。如果没有重定向,则只加载并显示一个空白页。@Augwa var_dumpmysqli_connect_error返回NULLI下载并安装的记事本+,然后下载login.php、loginold.php,和php/login.php,并在notepad++中打开,然后在utf-8中保存为encode,没有BOM仍然是相同的问题,只要包含语句就没有重定向。我已经用unicode保存了login.php loginold.php和php/login.php的所有文件,但没有更改重定向工作的唯一方法是删除include语句。有什么想法吗?