1

我正在制作一个平面文件登录系统,当我单击 login.php 页面上的提交按钮时,它会转到 protected.php 并返回内部服务器错误,但是当我只加载 protected.php 页面而不使用表单时结果很好。

登录.php

<html>
    <link rel="stylesheet" type="text/css" href="style.css">
    <body>
        <center><img src="logo.png"></center>
        <div id="login">
            <form action="protected.php" method="post">
            </br>
            Username  <input type="text" name="user" class="text"/>
            <p></p>
            Password <input type="password"" name="pass" class="text" />
            <p></p>
                <input type="submit" value="Login" class="button">
            </form>
        </div>
    </body>
</html>

受保护的.php

<?php
$usr = "admin";
$pass = "admin";

$iusr = $_POST["user"];
$ipass = $_POST["pass"];

if ($iuser !== $usr || $ipass !== $ipass) {
?>
<html>
<script type="text/javascript">
<!--
window.location = "login.php"
//-->
</script>
</html>
<?php
}
?>
<html>
    <link rel="stylesheet" type="text/css" href="style.css">
    <body>

    </body>
</html>

请帮忙!提前致谢!

4

3 回答 3

2

“内部服务器错误”可能意味着几件事,但很可能意味着您的 PHP 代码中有错误。这需要display_errors在您的 php.ini 中将属性设置为“1”。问题也可能是启动错误,因此您可能还希望考虑该display_startup_errors属性。

http://www.php.net/manual/en/errorfunc.configuration.php#ini.display-errors

关于代码的两条评论,与您的问题无关:1)表达式$ipass !== $ipass似乎是一个错字,因为它总是 return FALSE,以及 2)通过关闭 javascript 很容易绕过这个“安全性”。考虑改用header()for 重定向。

http://us2.php.net/manual/en/function.header.php

编辑:$iuser ...在这种特定情况下,错误是使用未定义的变量。您之前已将其声明为$iusr. 打开错误报告或查看日志将为您提供良好的错误消息,以便轻松找到此类问题。

于 2012-11-28T04:56:01.493 回答
0

问题是在你的protected.php文件中你写了一个错误的条件你的代码($iuser !== $usr 应该if ($iusr !== $usr || $ipass !== $pass) { 也是条件$ipass !== $ipass 应该像$ipass !== $pass下面是更新的protected.php文件

<?php
$usr = "admin";
$pass = "admin";

$iusr = $_POST["user"];
$ipass = $_POST["pass"];

if ($iusr !== $usr || $ipass !== $pass) {
    ?>
    <html>
        <script type="text/javascript">
            window.location = "login.php"
        </script>
    </html>
    <?php
}
?>
<html>
    <link rel="stylesheet" type="text/css" href="style.css">
    <body>
        Login success
    </body>
</html>
于 2012-11-28T05:43:43.927 回答
0

登录.php

<html>
<link rel="stylesheet" type="text/css" href="style.css">
<body>
    <center><img src="logo.png"></center>
    <div id="login">
        <form action="protected.php" method="POST">
        </br>
        Username  <input type="text" name="user" class="text"/>
        <p></p>
        Password <input type="password"" name="password" class="text" />
        <p></p>
            <input type="submit" name="submit" value="Login" class="button">
        </form>
    </div>
</body>

受保护的.php

<?php
$usr = "admin";
$pass = "admin";

$iusr = $_POST["user"];
$ipass = $_POST["password"];
if(isset($_POST["submit"])){
if ($iusr != $usr || $ipass != $pass) {
?>
<html>
<script type="text/javascript">

window.location = "login.php"

</script>
</html>
<?php
}}
?>
<html>
<link rel="stylesheet" type="text/css" href="style.css">
<body>

</body>

于 2012-11-28T05:23:05.997 回答