#php #forms
#php #формы
Вопрос:
-
Я объявил
isset
, чтобы проверить, работает ли name или нет, но он выдает вывод какFALSE
. -
Я выделил строки, в которых я получаю «ошибку».
-
Это происходит с каждым тегом, который я объявил. Я не знаю, почему это происходит.
-
Если я использую
$_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. Он работал после ввода кнопки отправки в форму. Спасибо.