2015-01-15 3 views
-1

Таким образом, я создал форму внутри HTML код -PHP форма проверки

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


    <fieldset> 
     <label class="labelone" type="text" /> 
     <input name="name" placeholder="Your Name"/> 
     <label class="email" for="email" /> 
     <input name="email" placeholder="Email"/> 
     <label class="phonenumber" for="phonenumber" /> 
     <input name="phonenumber" placeholder="Phone Number"/> 
     <label class="comments" for="comments" /> 
     <textarea name="comments" placeholder="Comments"></textarea> 
    </fieldset> 

    <fieldset> 
     <input type="submit" value="Submit" class="btn" > 
     <input class="btn" type="reset" value="Reset"> 
    </fieldset> 
</form> 

и это PHP -

<?php 



    $emailSubject = 'Test'; 
    $webMaster = 'Test'; 



    $name = $_GET['firstname']; 
    $email = $_GET['lastname']; 
    $message = $_GET['comment']; 

    $body = <<<EOD 
<br><hr><br> 
First Name: $firstname <br> 
Last Name: $lastname <br> 
Message: $comment <br> 
EOD; 


    $headers = "From: $lastname\r\n"; 
    $headers = "Content-type: text/html\r\n"; 
    $success = mail($webMaster, $emailSubject, $body, $headers); 




    $theResults = <<<EOD 
<?php 

?> 

<?php 



    $emailSubject = 'Kent Pest Control Services'; 
    $webMaster = '[email protected]'; 



    $name = $_GET['firstname']; 
    $email = $_GET['email']; 
    $phonenumber = $_GET['phonenumber'] 
    $message = $_GET['comments']; 

    $body = <<<EOD 
<br><hr><br> 
First Name: $firstname <br> 
Email: $email <br> 
Phone Number: $phonenumber <br> 
Message: $comments <br> 
EOD; 

Когда я загрузить его на мой хостинг и заполнить форму PHP , и нажмите «Отправить», он переходит на пустой экран, и я не получаю письмо, я использовал это раньше, как год назад, я не знаю, изменился ли код с тех пор, но я не могу заставить его работать, я надеюсь кто-то может помочь. :) Я изменил электронную почту, чтобы люди не могли отправить мне по электронной почте;)

+0

Изменить метод формы из ** пост ** до ** ** получить – starkeen

+0

, котор вы вставили секцию в два раза (это выглядит) и поставить живую электронную почту в нем – DevDonkey

ответ

1

Вы не указали тег <form> в своем HTML-формате.

попробовать это:

<form action="yourPHPfile.php" method="post"> 
    <fieldset> 
     <label class="labelone" type="text" /> 
     <input name="name" placeholder="Your Name"/> 
     <label class="email" for="email" /> 
     <input name="email" placeholder="Email"/> 
     <label class="phonenumber" for="phonenumber" /> 
     <input name="phonenumber" placeholder="Phone Number"/> 
     <label class="comments" for="comments" /> 
     <textarea name="comments" placeholder="Comments"></textarea> 
    </fieldset> 

    <fieldset> 
     <input type="submit" value="Submit" class="btn" > 
     <input class="btn" type="reset" value="Reset"> 
    </fieldset> 
</form> 

Я хотел бы использовать POST, а не GET, как вы передаете потенциально много данных через и это создало бы очень некрасиво URL.

файл PHP тогда ..

<?php 

$emailSubject = 'Test'; 
$webMaster = 'Test'; 

$name = $_POST['firstname']; 
$email = $_POST['lastname']; 
$message = $_POST['comments']; // you have the wrong key in your original file (comment) 

$body = <<<EOD 
<br><hr><br> 
First Name: $firstname <br> 
Last Name: $lastname <br> 
Message: $comment <br> 
EOD; 

$headers = "From: $lastname\r\n"; 
$headers = "Content-type: text/html\r\n"; 
$success = mail($webMaster, $emailSubject, $body, $headers); 


$theResults = <<<EOD 

?> 

другие точки: вы должны быть validating сторона адрес сервера электронной почты, если вы собираетесь сделать что-нибудь еще с ним, как отправить обратно т.д., подтверждение

+1

спасибо за ответ, у меня все было готово, что код я забыл поместить в текст. –

+1

поэтому отредактируйте свой html-код, затем в свой вопрос ... – Legionar

+0

Я до сих пор не знаю, почему он не работает –

0

Я думаю, что этот код может решить вы запрашиваете

<form action="actionname.php" method="post"> 
    <fieldset> 
     <label class="labelone" type="text" /> 
     <input name="firstname" placeholder="Your firstName"/> 
     <label class="labeltwo" type="text" /> 
     <input name="lastname" placeholder="Your LastName"/> 
     <label class="email" for="email" /> 
     <input name="email" placeholder="Email"/> 
     <label class="phonenumber" for="phonenumber" /> 
     <input name="phonenumber" placeholder="Phone Number"/> 
     <label class="comments" for="comments" /> 
     <textarea name="comments" placeholder="Comments"></textarea> 
    </fieldset> 

    <fieldset> 
     <input type="submit" value="Submit" class="btn" > 
     <input class="btn" type="reset" value="Reset"> 
    </fieldset> 
</form> 

Теперь это PHP код

<?php 

$emailSubject = 'Test'; 
$webMaster = $_POST['email']; /* Pass your form email address here */ 

$firstname = $_POST['firstname']; /* Firstname from form */ 
$lastname = $_POST['lastname']; /* Lastname from form */ 
$message = $_POST['comments']; /* Comment from form */ 

$body = <<<EOD 
<br><hr><br> 
First Name: $firstname <br> 
Last Name: $lastname <br> 
Message: $message <br> 
EOD; 

$headers = "From: $lastname\r\n"; 
$headers = "Content-type: text/html\r\n"; 
$success = mail($webMaster, $emailSubject, $body, $headers); 


$theResults = <<<EOD 

?> 
+0

Проверьте это для почты в php [link] (http://www.w3schools.com/php/func_mail_mail. осина) –

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