2015-04-29 1 views
1

Я пытаюсь использовать POST для получения значений из формы. Я переместил часть к тестовой странице:PHP - не может получить значение при наличии ввода

<form name="form" action="" method="post"> 
    <input type="text" name="subject" id="subject" value="enter something" /> 
</form> 
// following that 
<?php 
    if (isset($_POST["subject"])) 
     echo $_POST["subject"]; 
    else 
     echo "input is not set"; 
?> 

echo всегда «вход не установлен», независимо я установить значение входа или нет. И тег «subject» существует. Это меня смутило. Почему я не могу получить стоимость?

+7

Как вы представляете свою форму? :) магия, вуду, телекинез? – Rizier123

+0

@ Rizier123 У меня есть. Благодарю. – knh170

+0

* Voodoo man, voodoo * http://www.youtube.com/watch?v=OEJh2FFUUoU –

ответ

0

Вы должны отделить свою форму HTML от обработки $ _POST. Это означает, что вы предоставляете пользователю страницу, содержащую вашу размещенную форму, а затем отправьте эту форму на другую страницу.

Например ваша форма (на form.php):

<form id="form" action="process_form.php" method="post"> 
    <input type="text" name="subject" id="subject" value="" /> 
    <input type="submit" value="Submit"> 
</form> 

Затем создается файл process_form.php:

<?php 
if (isset($_POST['subject'])) { 
    echo $_POST['subject']; 
} 
else { 
    echo 'input is not set.'; 
} 
?> 
+0

Это доступно для инъекций XSS. –

Смежные вопросы