我在尝试将工作变成 php.ini 时遇到了麻烦。代码如下:
<?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();
?>
使用本地主机没有任何错误,但上传到我的服务器看起来像这样:
"The website detected an error in http://****/php/validate.php http://****/php/validate.php. blablabla"
PHP 尝试连接到双 URL(抱歉我的英语不好)。
我做错了什么?
最佳答案
很可能在您的生产服务器上,它不允许您使用短标签( <?
),就像您在输出 Javascript 的区域中使用的那样。您的本地服务器可能允许这些,因此您不会注意到。
您可能也应该在此处使用 header 重定向,并在附加消息或 session 中使用 header 重定向,并将该消息输出到另一个页面上,但这是另一个问题。
更改<?
至<?php
以确保。
关于php - php 上的双重 URL 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21922187/