Заданное имя в PHP для входного тега, когда я использую имя, оно показывает неопределенное предупреждение? Почему это происходит, даже если я определяю name?

#php #forms

#php #формы

Вопрос:

  1. Я объявил isset , чтобы проверить, работает ли name или нет, но он выдает вывод как FALSE .

  2. Я выделил строки, в которых я получаю «ошибку».

  3. Это происходит с каждым тегом, который я объявил. Я не знаю, почему это происходит.

  4. Если я использую $_REQUIRE['submit'] напрямую, оно показывает предупреждение как НЕОПРЕДЕЛЕННУЮ переменную.

     <?php
    session_start();
    $username = $_SESSION['username'];
    echo "<h1>Hello, " . $username . ".</h1>";
    
    if(isset($_REQUEST['submit'])){
        session_unset();
        session_destroy();
        echo "<script> location.href='login.php' </script>";
    }
    
    // this is where I always get "False"
    $check = isset($_REQUEST['submit']);
    if($check)
    {
        echo "TRUE";
    }
    else
    {
        // Always I get this
        echo "FALSE";
    }
    
    
    ?>
    
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>Home</title>
        <style>
            body{
                text-align: center;
            }
            h1{
                font-size: 100px;
                text-transform: capitalize;
            }
            button{
                height: 50px;
                width: 100px;
                background-color: lightskyblue;
                color: white;
                font-size: x-large;
                border-radius: 10px;
                font-family: monospace;
            }
            button:hover{
                cursor: pointer;
            }
        </style>
    </head>
    <body>
        <p>Have a nice day.</p>
        <button type="submit" name="submit" value="20">LOGOUT</button>
    </body>
    
    </html>
      

Комментарии:

1. Ваша кнопка отправки, похоже, вообще не находится в форме

2. Он работал после ввода его в форму. Спасибо.

Ответ №1:

Это работает следующим образом. Подумайте об этом.

 <?php
session_start();

// Just for test.
// $_SESSION['username'] = 'test1';

$username = isset($_SESSION['username']) ? $_SESSION['username'] : 'Nobody';
?>

<!DOCTYPE html>
<html lang="en">
<body>

<?php
if (isset($_REQUEST['submit'])) {
    unset($_SESSION['username']);
    echo "<script>location.href='login.php';</script>";
}
?>

<form>
    <h1><?php echo "Hello, " . $username ?></h1>
    <p>Have a nice day.</p>
    <button type="submit" name="submit" value="20">LOGOUT</button>
</form>

</body>
</html>

  

Комментарии:

1. Он работал после ввода кнопки отправки в форму. Спасибо.