$ _POST не показывает результатов

#php #forms #post

#php #формы #Публикация

Вопрос:

Я использую простой следующий код для создания формы и получения ее значений на другой странице:

firstpage.php

 <form action="checklogin.php" method="post" >
<table border=1>
<tr><td>Username </td><td><input type="text" name="txtuser" /></td></tr>
<tr><td>Password </td><td><input type="text" name="txtpwd" /></br>
</td></tr>
<tr><td><input type="submit" value="Login now"  name="btnsub"/>
</table> 
</form>
  

checklogin.php

 <html>
<body>
Welcome <?php echo $_POST['txtuser']; ?>
</body>
</html>
  

Этот код не отображает значение входных данных txtuser в nxtpage.php во всех браузерах.

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

1. Вы отправляете на checklogin.php , но пытаетесь echo сохранить содержимое на nextpage.php . Я бы назвал это проблемой.

2. Пожалуйста, примите больше ваших предыдущих ответов. В этом случае вы не отправляете данные в nextpage.php но checklogin.php таким образом, переменная $ _POST пуста.

3. Пожалуйста, всегда используйте htmlspecialchars , если вы хотите вывести пользовательский ввод на HTML-страницу.

4. Я перенаправляю на checklogin.php используя только атрибут action form .Пожалуйста, игнорируйте nextlogin.php .. Теперь, пожалуйста, выясните причину, по которой y не отображается содержимое txtuser.

Ответ №1:

Вы отправляете сообщение на checklogin.php . Конечно nextpage.php , у него не будет значения POST. Попробуйте вставить это в сеанс.

Ответ №2:

Является ли ваша форма целевой checklogin.php или nxtpage.php ? Поскольку , если это checklogin.php , вполне естественно nxtpage.php не получит переменные POST, отправленные в checklogin.php .

Если вы просто не делаете что-то очень простое, вы хотите использовать сеансы — например, смотрите этот учебник о сеансах.

Ответ №3: