2013-06-27 4 views
0

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

PHP код:

 $self = $_SERVER['PHP_SELF']; 
     if(isset($_POST['send'])){     
      $words = htmlspecialchars($_POST['board']); 
      print "<b>".$words."</b>"; 
     }   ​​​​ 

HTML код:

<form action="<?php $self ?>" method=post> <!--$self is the directory of the page itself--> 
     <p><i>Comment</i></p> 
     <textarea name="board" rows="20" cols="10"></textarea> 
     <input name="send" type="hidden" /> 
     <p><input type='submit' value='send' /></p> 
</form> 

Код, указанный выше, будет работать как я намерен. Однако, если я избавлюсь от имени ввода = «send» type = «hidden», пользовательское сообщение ввода не появится после нажатия кнопки отправки. Почему это произойдет?

+2

Как называется кнопка отправки? ;) –

+2

вы можете удалить 'action =" ", так как вы направляете его на ту же страницу. –

ответ

4

Вам нужно добавить name = 'send' в вашу кнопку отправки, ваш PHP-код читает имя элементов формы, и вы не указали его для своей кнопки отправки.

<form action="<?php $self ?>" method=post> <!--$self is the directory of the page itself--> 
     <p><i>Comment</i></p> 
     <textarea name="board" rows="20" cols="10"></textarea> 
     <p><input type='submit' name='send' value='send' /></p> 
</form> 

Кроме того, быстрое примечание - вы можете изменить метод формы для GET вместо POST, чтобы легко увидеть, какие данные формы вы отправляете в строке URL.

2

Это потому, что вы проверяете, что переменная POST посылает isset. Это то, что вы назвали своим скрытым вводом.

Вы должны добавить name в свой ввод. Пример:

<p><input type='submit' name="submit_button" value='send' /></p> 

Теперь в вашем PHP, проверьте name вашей кнопки отправки. В этом примере я использовал «submit_button». Вот модифицированный пример кода:

$self = $_SERVER['PHP_SELF']; 
    if(isset($_POST['submit_button'])){     
     $words = htmlspecialchars($_POST['board']); 
     print "<b>".$words."</b>"; 
    } 
0

не должен беспокоить именование кнопки отправки или что-нибудь, просто удалите эту строку hidden ...

и изменить РНР ....

$self = $_SERVER['PHP_SELF']; 
    if(isset($_POST)){     
     $words = htmlspecialchars($_POST['board']); 
     print "<b>".$words."</b>"; 
    }