2013-08-22 2 views
4

Я создаю форму, используя почтовый метод так:

<form name="indexFormn" id="indexForm" method="POST" action="page.php"> 
    <div class="AdminformDiv"> 
    <div class="errorbox"> 
     <?php 
     if (!is_array($this->actionErrors)) { 
     echo $this->actionErrors; 
    } 
    ?> 
</div> 
<div> 
    <table border="0" cellpadding="0" cellspacing="0" style="width:700px"> 
     <tbody> 
      <tr> 
       <td style="width:128px">Amount</td> 
       <td colspan="2">$ <?php echo $this->price;?> USD<td  style="width:270px">&nbsp;</td> 
      </tr> 
      <tr> 

..... 

, но проблема в том, когда я «var_dump ($ _ SERVER [ 'REQUEST_METHOD']); " в моем php-коде я получаю все время «GET», а не «POST», и действительно я не знаю почему?

+0

Вы используете

thingie? – yaccz

+0

, вы знаете, вам нужно добавить элемент yaccz

+0

Вы действительно * выполнили * POST? –

ответ

1

В основном большинство HTTP-запросов являются запросами GET. и $ _SERVER ['REQUEST_METHOD'] оценивает метод GET по умолчанию.

вы можете использовать if ($ _ POST), чтобы проверить, является ли это POST. (Это массив с данными POST в нем. Все страницы имеют $ _GET, поэтому если ($ _ GET) не будет работать, если это GET)

при отправке формы, то вы обязательно получите метод POST на странице "page.php". попробуйте получить метод на этой странице и найти.

0

У меня была эта проблема с использованием MVC Framework Codeigniter. Вот что я обнаружил:

Атрибут My Action в моей форме не включал «www» перед моим доменом, но мой фактический URL-адрес нуждался в «www».

у меня была action="https://mydomain/something", но если бы я пошел по этому URL-адресу, я заметил, что мой веб-хост добавил www к началу: https://www.mydomain/something. (Я использую DreamHost, и это настройка, которую я выбрал)

Я надеюсь, что это тоже ваша проблема - действительно сложно разобраться, но как только я получил свое действие и фактический URL, чтобы договориться о «www», , мой метод запроса отправился с GET на POST.

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