PHP-строка кода не работает с HTML-формой! 500 ОШИБКА

0
<?php
session_start();
?>
<!DOCTYPE html>
<html>
<head>
    <title>MechRook</title>
    <link type="text/css" rel="stylesheet" href="css.css"/>
    <link type="image/jpeg" rel="short icon" href="favicon.jpg"/>
</head>
<body>
    <div id="fheader">
        <h1>Account</br></h1>
        <?php
        $form = '<form method="post" action="index.php">
            Username: <input name="user" type="text"></br>
            Password: <input name="pass" type="password"></br>
            <input name="btn" type="submit" value="Login">
        </form>';
        if ($_POST['btn']) {
            $user = $_POST['user'];
            $pass = $_POST['pass'];

            if ($user) {
                if($pass) {
                    echo "$user - $pass <hr> $form";
                }
                else {
                    echo "You must enter your password. $form";
            }
            else {
                echo "You must enter your username. $form";
            }   
        }
        else {
            echo $form;
        }
        ?>
        <h2>Account:</br><?php echo $_POST['user']; ?></h2>
    </div>
    <div id="sheader">
        <h1 style="font-size:50px">MechRook</h1>
        <section id="con">
            <div class="button">
                <a href="index.html" class="link">Home</a>
            </div>
            <div class="button">
                <a href="account.html" class="link" style="font-size:15px">Account</a>
            </div>
            <div class="button">
                <a href="contact.html" class="link">Contact</a>
            </div>
        </section>
        <h2>
            </br></br>Welcome to MechRook
        </h2>
        <p>
            Welcome to MechRook! MechRook is currently nothing. Wow what a waste of a URl, you might think that but you will see. My friends and I have big plans for MechRook. We have multiple designers for website templates and coders.
        </p>
    </div>
</body>
</html>

Это дает мне 500 ERROR. Я пытаюсь сделать форму! Пожалуйста помоги! Скажи мне, что я могу сделать. Благодарю! ________________________________________________________________________________________________________________

  • 2
    1. Включите отчеты об ошибках и посмотрите, что изменится. 2. Проверьте журналы вашего сервера.
  • 3
    Вам не хватает закрывающей скобки ( } ) после этого утверждения: echo "You must enter your username. $form"; ,
Показать ещё 1 комментарий
Теги:
database
forms

2 ответа

1

Я тестировал на сервере после добавления отсутствующего скобки, он отлично работает, поэтому просто попробуйте этот новый код (у него нет грязных условий if-else):

<?php
session_start();
?>
<!DOCTYPE html>
<html>
<head>
    <title>MechRook</title>
    <link type="text/css" rel="stylesheet" href="css.css"/>
    <link type="image/jpeg" rel="short icon" href="favicon.jpg"/>
</head>
<body>
    <div id="fheader">
        <h1>Account</br></h1>
        <?php
        $form = '<form method="post" action="'.$_SERVER['PHP_SELF'].'">
            Username: <input name="user" type="text"></br>
            Password: <input name="pass" type="password"></br>
            <input name="btn" type="submit" value="Login">
        </form>';
        if ($_POST['btn']) {
            $user = $_POST['user'];
            $pass = $_POST['pass'];

            if (($user) && !($pass)) {
                echo "You must enter your password. $form";
            }
            else if (!($user) && ($pass)) {
                echo "You must enter your username. $form";
            }
            else if (!($user) && !($pass)){
                echo "You must enter your username and your password. $form";
            }
            else {
                echo "$user - $pass <hr> $form";
            }

        }
        else {
            echo $form;
        }
        ?>
        <h2>Account:</br><?php echo $_POST['user']; ?></h2>
    </div>
    <div id="sheader">
        <h1 style="font-size:50px">MechRook</h1>
        <section id="con">
            <div class="button">
                <a href="index.html" class="link">Home</a>
            </div>
            <div class="button">
                <a href="account.html" class="link" style="font-size:15px">Account</a>
            </div>
            <div class="button">
                <a href="contact.html" class="link">Contact</a>
            </div>
        </section>
        <h2>
            </br></br>Welcome to MechRook
        </h2>
        <p>
            Welcome to MechRook! MechRook is currently nothing. Wow what a waste of a URl, you might think that but you will see. My friends and I have big plans for MechRook. We have multiple designers for website templates and coders.
        </p>
    </div>
</body>
</html>

Надеюсь, что это работает.

1

Я не программист на PHP (я делаю JS, и я относительно новичок в этом), но сразу я вижу, что вам не хватает закрывающей скобки. Страница будет отображаться с помощью этого кода:

if ($_POST['btn']) {
        $user = $_POST['user'];
        $pass = $_POST['pass'];

        if ($user) {
            if($pass) {
                echo "$user - $pass <hr> $form";
            } else {
                echo "You must enter your password. $form";
            }
        } else {
            echo "You must enter your username. $form";
        }   
    } else {
        echo $form;
    }
  • 0
    Все еще не работает!
  • 0
    Что не работает? Вот фрагмент кода с добавленной закрывающей скобкой: jsfiddle.net/y67Z5 Тестируете ли вы на сервере, который может интерпретировать PHP?
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню