Php代码得到一个空白页

Php代码得到一个空白页,php,debugging,login,Php,Debugging,Login,此代码在浏览器中返回一个空白页。你能发现错误吗?已检查权限和url。phpcodechecker.com说没问题 <?php # Check for POST login data, else set initial values if (isset($_POST["user"])) { $user=$_POST['user']; $pass=hash('sha256',$_POST['pass']); } else {

此代码在浏览器中返回一个空白页。你能发现错误吗?已检查权限和url。phpcodechecker.com说没问题

<?php
    # Check for POST login data, else set initial values
    if (isset($_POST["user"])) {
        $user=$_POST['user'];
        $pass=hash('sha256',$_POST['pass']);
    }
    else {
        $user="";
        $pass="";
    }

    # Check Login Data
    #
    # Password is hashed (SHA256). In this case it is 'admin'.
    if($user == "admin"
    && $pass == "8c6976e5b5410415bde908bd4dee15dfb167a9c873fc4bb8a81f6f2ab448a918")
    {
        # Load content from local storage
        include("../localstorage/content.html");
    }
    else
    {
        # Show login form. Request for username and password
echo
            '<html>
            <body>      
                <form method="POST" action="">
                    Username: <input type="text" name="user"><br/>
                    Password: <input type="password" name="pass"><br/>
                    <input type="submit" name="submit" value="Login">
                </form>
            </body>
            </html>'

    }
?>


(我是从下载的,我意识到它缺乏安全性)

使用了快捷方式打开标签,但不允许在从底部向上的第三行

<?

您可以使用docstring在php文件中编写html

<<<EOD
<html>
        <body>      
            <form method="POST" action="">
                Username: <input type="text" name="user"><br/>
                Password: <input type="password" name="pass"><br/>
                <input type="submit" name="submit" value="Login">
            </form>
        </body>
</html> 
EOD;

使用echo语句按如下方式打印html代码

echo '<html>
            <body>      
                <form method="POST" action="">
                    Username: <input type="text" name="user"><br/>
                    Password: <input type="password" name="pass"><br/>
                    <input type="submit" name="submit" value="Login">
                </form>
            </body>
            </html>'; 
echo'
用户名:
密码:
';

删除中间的php标记,只在开头和结尾使用外部的php标记。

这个问题我迟到了,但无论如何我想回答这个问题。 首先,如果您是PHP新手,则应将PHP.ini中的错误报告行更改如下:

error_reporting=E_ALL
因为如果存在任何解析错误,此设置将显示解析错误,而不是黑色页面


你的问题的解决办法: 脚本的最后一个“echo”语句中出现语法错误,该语句正在生成分析错误。 您可以通过在最后一个echo语句中添加分号(;)来删除此语法错误,如下所示:

else{
echo

        '<html>
        <body>      
            <form method="POST" action="">
                Username: <input type="text" name="user"><br/>
                Password: <input type="password" name="pass"><br/>
                <input type="submit" name="submit" value="Login">
            </form>
        </body>
        </html>';
 }
?>
else{
回声
'
用户名:
密码:
'; } ?>
检查错误日志;这是一个解析器错误。正如下面的答案所说,问题是无效地使用了
Hi@EdCottrell,谢谢,但这并没有解决我的问题,keeps white:(在最后的
之后,你还缺少了一个
。我觉得很愚蠢,就是这样。