php上的双重URL错误

时间:2014-02-20 23:42:45

标签: php mysql

我在尝试将工作变成php时遇到了麻烦。这是代码:

<?php

$host = "localhost";
$user = "ff";
$pass = "ff";
$db = "ff";

$login = mysqli_connect ($host,$user,$pass,$db);
if (!$login) die ("Connection Error to Database <br/>". mysqli_error());

$username = $_POST["username"];   
$password = $_POST["password"];

$result = mysqli_query($login, "SELECT * FROM users WHERE username = '$username'");

if($row = mysqli_fetch_array($result))
{     
 if($row["password"] == $password)
 {
  session_start();  
  $_SESSION['username'] = $username;  
  header("Location: ../index.php");  
 }
 else
 {
  ?>
   <script>
    alert("Wrong password");
    location.href = "../login.html";
   </script>
  <?
 }
}
else
{
?>
 <script>
  alert("Wrong username");
  location.href = "../login.html";
 </script>
<?
}
mysqli_free_result($result);
mysqli_close();
?>

使用localhost没有任何错误,但上传到我的服务器的内容如下:

"The website detected an error in http://****/php/validate.php http://****/php/validate.php. blablabla"

php尝试连接到双重URL(抱歉我的英文不好)。

我做错了什么?

1 个答案:

答案 0 :(得分:1)

很可能在您的生产服务器上,它不允许您使用短标签(<?),就像您在输出Javascript的区域中使用的那样。您的本地服务器可能允许这些,所以您不会注意到。

您应该在此处使用标头重定向,并附带消息或在会话中,并在另一页上输出该消息,但这是另一个问题。

<?更改为<?php以确保。