Php 错误500,不确定是什么原因造成的

Php 错误500,不确定是什么原因造成的,php,forms,Php,Forms,我正在通过php为家庭作业创建一个简单的MySQL接口。用户输入他们的姓名、密码和sql查询,然后返回一个响应。当我每次让用户输入名称和密码时,一切都会正常工作,但是我尝试这样做,如果用户已经登录,它会显示他们的用户名和注销按钮,而不是给他们登录的选项。当我使用基本html表单并让用户每次输入名称和密码时,没有问题。当我尝试使用php版本的表单时,出现了500个错误,页面无法加载。我哪里做错了 表格的HTML版本: <form action="?" method="post

我正在通过php为家庭作业创建一个简单的MySQL接口。用户输入他们的姓名、密码和sql查询,然后返回一个响应。当我每次让用户输入名称和密码时,一切都会正常工作,但是我尝试这样做,如果用户已经登录,它会显示他们的用户名和注销按钮,而不是给他们登录的选项。当我使用基本html表单并让用户每次输入名称和密码时,没有问题。当我尝试使用php版本的表单时,出现了500个错误,页面无法加载。我哪里做错了

表格的HTML版本:

        <form action="?" method="post">
            <input type="text" name="user" placeholder="username" autofocus="auotfocus" <?php if(isset($_POST['user'])) echo 'value="'.$_POST['user'].'" '; ?> />
            <input type="password" name="pass" placeholder="password" <?php if(isset($_POST['pass'])) echo 'value="'.$_POST['pass'].'" '; ?>/>
            <input type="submit" value="Submit Query" />
            <br />
            <textarea name="sql" rows="10" cols="50" wrap="soft" placeholder="enter an SQL command..."><?php if(isset($_POST['sql'])) echo $_POST['sql']; ?></textarea>
        </form>

/>

表单的PHP版本(?省略PHP括号:

        if(isset($_SESSION["user"])) {
            echo '<form action="?" method="post"'>;
            echo '<h1>Welcome back'.$_SESSION["user"];
            echo '</h1><button type="submit" value="Logout">< br/>';
            echo '<input type="submit" value="Submit Query" /> <br />';
            echo '<textarea name="sql" rows="10" cols="50" wrap="soft" placeholder="enter an SQL command...">'. if(isset($_POST['sql'])) echo $_POST['sql'].'</textarea>';
            echo '</form>';
        }

        else {
            echo '<form action="?" method="post"'>;
            echo '<input type="text" name="user" placeholder="username" />';
            echo '<input type="password" name="pass" placeholder="password"/>';
            echo '<input type="submit" value="Submit Query" />'.' <br />';
            echo '<textarea name="sql" rows="10" cols="50" wrap="soft" placeholder="enter an SQL command...">'. if(isset($_POST['sql'])) echo $_POST['sql'].'</textarea>';
            echo '</form>';
            }
if(isset($\u会话[“用户”])){
回声';
回声“
”; 回显“”。如果(isset($\u POST['sql'])回显$\u POST['sql'].'; 回声'; } 否则{
echo'您的
echo
语句中也有一个错误

echo '<form action="?" method="post"'>;

echo“500错误”意味着检查错误日志,或启用
display\u errors
ini\u set('display\u errors',1);error\u reporting(E\u ALL);
但问题似乎在于
if($\u POST['sql'])
非法连接到前面的字符串上。相反,使用三元:
“…输入sql…”。(isset($_POST['sql'])?$_POST['sql']:''。
哇,非常感谢!就是这样。我不敢相信我忽略了echo语句的那部分。谢谢!