2013-07-25 4 views
0

Я довольно новичок в написании php, и у меня есть регистрационная форма, где я хочу, чтобы информация была отправлена ​​на мой адрес электронной почты, но я думаю, что мне не хватает чего-то в моем почтовом ящике, поскольку информация не приходит через.отправка формы с php

Это моя html5 форма:

<!DOCTYPE HTML> 
<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
<title>Register</title> 
<link href="css/reset.css" rel="stylesheet" type="text/css"> 
<link href="css/register.css" rel="stylesheet" type="text/css"> 

</head> 


<div id="container"> 
<section id="register"> 

       <form action="mail.php" method="post" accept-charset="utf-8"> 
        <h4>Your Jeep</h4> 
       <div class="form-field"> 
        <fieldset> 
         <label>Year</label> 
         <input value="" placeholder="Year" type="text"  name="year"> 
        </fieldset> 
       </div> 

       <div class="form-field"> 
        <fieldset> 
         <label>Color</label> 
         <input value="" placeholder="Color" type="text" name="color"> 
        </fieldset> 
       </div> 

       <div class="form-field"> 
        <fieldset> 
         <label>Class</label> 
         <input value="" placeholder="Stock, Modified, Highly Modified" type="text" name="class"> 
        </fieldset> 
       </div> 

       <!-------------------- 
       <div class="form-field"> 
        <fieldset> 
         <label>Class</label> 
         <select class="form-field"> 
         <option value="Select Class">Select Class</option> 
         <option value="Stock">Stock</option> 
         <option value="Modified">Modified</option> 
         <option value="Highly Modified">Highly Modified</option> 
         </select> 
        </fieldset> 
       </div> 
       -------------------------> 

       <div class="form-field"> 
        <fieldset> 
         <label>Last 4 digets of VIN</label> 
         <input value="" placeholder="Last 4 digets of VIN" type="text" name="vin"> 
        </fieldset> 
       </div> 




      </form> 


      <form> 
         <h4>You</h4> 
        <div class="form-field"> 
         <fieldset> 
          <label>Name</label> 
          <input value="" placeholder="Name" type="text" name="name"> 
         </fieldset> 
        </div> 

        <div class="form-field"> 
         <fieldset> 
          <label>Address</label> 
          <input value="" placeholder="Address" type="text" name="address"> 
         </fieldset> 
        </div> 

        <div class="form-field"> 
         <fieldset> 
          <label>City</label> 
          <input value="" placeholder="City" type="text" name="city"> 
         </fieldset> 
        </div> 

        <div class="form-field"> 
         <fieldset> 
          <label>State</label> 
          <input value="" placeholder="State" type="text" name="state"> 
         </fieldset> 
        </div> 

        <div class="form-field"> 
         <fieldset> 
          <label>Zip</label> 
          <input value="" placeholder="Zip" type="text" name="Zip"> 
         </fieldset> 
        </div> 

        <div class="form-field"> 
         <fieldset> 
          <label>Email</label> 
          <input value="" placeholder="Email" type="text" name="email"> 
         </fieldset> 
        </div> 
       </form> 

        <form> 

         <div class="form-button"> 
          <input type="submit" value="Send"><input type="reset" value="Clear"> 

         </div> 



        </form> 




      </section> 
    </div>   

<body> 
</body> 
</html> 

и это мой mail.php:

<!DOCTYPE HTML> 
<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
<title>Form</title> 
</head> 


<?php 
$year= $_POST['year']; 

$color= $_POST['color']; 

$class= $_POST['class']; 

$vin= $_POST['vin']; 

$name= $_POST['name']; 

$address= $_POST['address']; 

$city= $_POST['city']; 

$state= $_POST['state']; 

$zip= $_POST['zip']; 

$email= $_POST['email']; 

$formcontent="From: $name \n From: $city"; 

$recipient = "[email protected]"; 

$subject = "JatB Registration"; 

$mailheader = "From: $email \r\n"; 

mail($recipient, $subject, $formcontent, $mailheader) or die("Error!"); 

echo "Thank You!" . " -" . "<a href='index.html' style='text-decoration:none;color:#f15c25;'>  Return Home</a>"; 

?> 



<body> 
</body> 
</html> 

ответ

0

Вы отсутствуют атрибуты формы, то POST метод в основном:

<form action="" method="post"> 

Указывает, что форма будет отправлена ​​по номеру POST, а не на. 210. Когда вы получаете все свои переменные, используя $.POST, вам необходимо отправить отправку формы этим методом.

Подробнее об этом можно узнать here.

Кроме того, как указано в @Frits, кнопка submit находится в другой форме. У вас должна быть только одна форма, в которой у вас есть все поля, а также кнопка отправки.

0

Ваша кнопка отправки в другой форме!

Вы отправляете пустую форму.

У вас всего 3 формы. Судя по реализации mail.php, все они должны быть одинаковой формы.

0

Прежде всего, ваша кнопка отправки находится в другой форме.

Во-вторых, вы не закончили тег комментария правильно (но ваш браузер обрабатывает его автоматически).

В-третьих, функция mail() отправляет все на почтовый сервер. Поэтому вам нужен доступ к почтовому серверу, чтобы отправлять электронную почту с помощью PHP.

+0

Я внесли изменения, предложенные @alvaro, и информация может отправить. Адрес электронной почты, на который будет поступать информация, - это hotmail ... но если это абсолютно необходимо, я могу получить доступ к почтовому серверу. Именно поэтому появляется окно электронной почты для отправки информации при нажатии кнопки отправки? – mjadecole

+0

Вам нужна только одна форма, в которой должны находиться все входы и кнопки. Теперь у вас две разные формы. Затем вам нужно получить доступ к почтовому серверу для отправки электронной почты. – WAN

+0

Я поместил все поля и кнопку в один тег формы, но теперь, когда я нажимаю кнопку отправки, новое окно сообщений электронной почты содержит информацию в поле темы. Это из-за отсутствия почтового сервера? – mjadecole

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