2014-11-28 5 views
0

В HTML файл я получил следующую часть кода:Невозможно получить данные по POST

<!-- Contact Form --> 


<section> 
     <form method="post" action="sendmail.php"> 
       <div class="row 50%"> 
         <div class="6u"> 
           <input type="text" name="name" id="contact-name" placeholder="Name" /> 
         </div> 
         <div class="6u"> 
           <input type="text" name="email" id="contact-email" placeholder="Email" /> 
         </div> 
       </div> 
       <div class="row 50%"> 
         <div class="12u"> 
           <textarea name="message" id="contact-message" placeholder="Message" rows="4"></texta$ 
         </div> 
       </div> 
       <div class="row"> 
         <div class="12u"> 
           <ul class="actions"> 
             <li><input type="submit" class="style1" value="Send" /></li> 
             <li><input type="reset" class="style2" value="Reset" /></li> 
           </ul> 
         </div> 
       </div> 
     </form> 
</section> 

И в PHP файле sendmail.php, у меня есть:

<?php 
    $address = $_POST['contact-email']; 
    $body = $_POST['contact-message']; 
    $name = $_POST['contact-name']; 
    echo($address); 
    echo($body); 
    echo($name); 

>

Когда я пытаюсь запустить эту форму, она ничего не делает. Может быть, я делаю что-то не так?

+1

'$ _POST [ 'контакт-почта'];' относится к 'name' элемента, а не' id', так что вы можете иметь '<входной тип = "text" name = "contact-email" id = "contact-email" placeholder = "Email" /> 'вместо – MLeFevre

ответ

6

Поскольку в публикуемом файле, вы не обращаетесь с именами:

Вы пытаетесь получить доступ к этим переменным, размещенному через их id не с name.

При отправке формы ее переменные могут быть доступны через их name аттиты, так как они имеют значение $_GET или $_POST.

$address = $_POST['contact-email']; 
$body = $_POST['contact-message']; 
$name = $_POST['contact-name']; 

Должно быть

$address = $_POST['email']; 
$body = $_POST['message']; 
$name = $_POST['name']; 
+0

@Nikita: Можете ли вы пометить мой ответ как решение, если он сработает для вас? – Pupil

2

Вы должны использовать имя поля, а не идентификатор поля.

, такие как:

$address = $_POST['email']; 

    $name = $_POST['name']; 

    echo($body); 

    echo($name); 
Смежные вопросы