0

宿題のために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>';
            }
4

1 に答える 1