2016-12-16 3 views
0

Я новичок в PHP, и я хотел бы отправить ДАННЫЕ от формы и отобразить его в ту же страницу, вот мой код для лучшего понимания:Отправить данные формы на одной странице не functionning

<form method="post" action="same_page.php"> 
<input type="text" name="owner" /> 
<input type="submit" value="Validate" /> 
</form> 

<?php 
if(isset($_GET['owner'])) 
{ 
    echo "data sent !"; 
} 

?> 

Так обычно, после ввода некоторых произвольного текста в форме и нажмите кнопку «проверка», сообщению «данные, посланные!» должен отображаться на странице. Наверное, я что-то пропустил, но не могу понять, что.

+0

Ваша форма имеет метод POST, и вы проверку GET Value – Goikiu

+0

вы можете избежать много сложного программирования просто путем разделения вещей. Проблема с вашим кодом заключается в том, что у вас есть метод = «сообщение» и проверка на $ _GET, а не $ _POST –

+0

Оставить атрибут действия пустым и проверить print_r ($ _ POST); – rahulsm

ответ

0

Вы забыли добавить представить имя в ваших form.You являются используя POST как метод так код должен быть

<form method="post" action=""> 
    <input type="text" name="owner" /> 
    <input type="submit" name="submit_value" value="Validate" /> 
    </form> 

<?php 
if(isset($_POST['submit_value'])) 
{ 
    echo '<pre>'; 
print_r($_POST); 
} 

?> 

Покажет ваши почтовые значения

0

Заменить:

$_GET['owner'] 

С:

$_POST['owner'] 

Поскольку вы используете метод post в вашей форме, вы должны проверить против $_POST массива в вашем PHP коде.

+0

Да, но нет объяснений? Это может также вызвать ошибку. –

0

Вы используете метод POST в вашей форме.

<form method="post" action="same_page.php"> 

Таким образом, измените свой код:

if (count($_POST) && isset($_POST['owner'])) 

Технически, приведенный выше код выполняет следующие действия:

  1. Первые проверки, если есть содержание в POST.
  2. Затем он проверяет, установлен ли owner.
  3. Если оба условия выполнены, отображается сообщение.

На самом деле вы можете избавиться от action="same_page.php", как если бы вы его пропустили, вы отправите на эту же страницу.

Примечание: Это худший способ программирования, который необходимо изменить.

0

Вы должны заменить $ _GET [ «владелец»] с $ _POST [ «владельца»], как в вашей форме вы указали метод = «после»

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