2013-03-17 2 views
0

Заранее спасибо за помощь. Я знаю, что это, вероятно, простой вопрос, поскольку я относительно новичок в HTML.Как обрабатывать отправку HTML-формы

У меня есть бланк на моем сайте для того, чтобы стать участником. Я хочу, чтобы пользователи вводили свою информацию и нажимали submit. Когда они это сделают, я хочу, чтобы письмо было отправлено мне. Однако я хочу, чтобы пользователь был перенаправлен на другую страницу на сайте, где они будут платить за свое членство. Как я могу делать обе эти вещи (отправлять электронную почту, перенаправлять) одновременно?

Вот моя форма:

<form> 
First name: <input type="text" name="firstname"> 
Last name: <input type="text" name="lastname"><br> 
Street: <input type="text" name="street" size="60"><br> 
City: <input type="text" name="city"> 
State: <input type="text" name="state"> 
ZIP: <input type="text" name="zip"><br> 
Email: <input type="text" name="email" size="60"><br> 
Phone: <input type="text" name="phone" size="60"><br> 
City/Township: <input type="text" name="votingcity"> 
Precinct No.: <input type="text" name="precinct"><br> 
<br><hr><br> 
<p>Government regulations require the following information:<br></p><br> 
Occupation: <input type="text" name="occupation" size="60"><br> 
Employer's Name: <input type="text" name="employer" size="60"><br> 
Employer's Street: <input type="text" name="emp_street" size="60"><br> 
Employer's City: <input type="text" name="emp_city"> 
Employer's State: <input type="text" name="emp_state"> 
Employer's ZIP: <input type="text" name="emp_zip"><br> 
<br><hr><br> 
Submit <input type="submit"> 
</form> 
+1

вы должны использовать любой язык, как PHP для отправки электронной почты или перенаправлять –

ответ

0

Я рекомендую вам взглянуть на PHP учебники (сравни: php.net). Следующий код будет перенаправить вас на страницу «action.php», где вы можете выполнить код PHP (отправить по электронной почте, перенаправление на другой и т.д.)

index.html

<form action="action.php" method="post"> 
<p>Your name: <input type="text" name="name" /></p> 
<p>Your age: <input type="text" name="age" /></p> 
<p><input type="submit" /></p> 
</form> 

действий .php

<?php 
$message = "your message"; 

// Send mail 
mail('[email protected]', 'Your Subject', $message); 

header('Location: payment.php'); 
?> 

UPDATE: В вашей странице PHP вы можете также управлять данными формы. Например, вы можете получить доступ к имени пользователя с этим $_POST['firstname']. Или информация пользователя дисплея в вас Payement страницы, как это:

Hi M. <?php echo htmlspecialchars($_POST['lastname']); ?>. 

Я не знаю, что вы хотите сделать с данными формы, но вы можете отправить их в электронной почте или сохранить их в базе данных.

Вы также можете использовать другой язык, кроме PHP, например Java, VB.net и т. Д. Но, на мой взгляд, PHP, вероятно, будет легче изучить.

+0

Ваш код Javascript не запускается по электронной почте; он отправляет пользователя только на последующую страницу. – mikemxm

+0

И ваш PHP ничего не делает с данными формы – mikemxm

+0

Вы правы, javascript на самом деле не посылает электронное письмо, он открывает ваш почтовый клиент по умолчанию и предварительно заполняет контент. В противном случае я обновляю свой ответ, чтобы добавить более подробную информацию о php, обращаясь к форме. – Pith

0

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

<form method="post" action="link to subscription page. Eg: payment.php"> </form>

В payment.php, дисплей формы оплаты и написать функцию для отправки электронной почты.

<?php 
//Write send email function here 
?> 
<html> 
<!-- Display payment form here --> 
</html> 
0

Это не может быть сделано, используя только HTML, вы должны знать, на стороне сервера язык сценариев, таких как PHP или ASP.

0

: Как вы обрабатываете платежи? Если бы я делал это для себя, у меня, вероятно, были бы данные формы отправлены на процессор платежей (например, PayPal) и включены в счет-фактуру. Я бы предположил, что большинство платежных процессоров имеют возможность уведомлять вас по электронной почте при получении платежа.

Но вы не спросили, как это делается I, вы спросили, как вы можете отправить форму, чтобы отправить электронное письмо, и браузер перенаправляется на другую страницу.

Если вы не можете использовать мое решение, я действительно думаю, что вам лучше всего бросить PHP в микс.

регистрация.HTML

<form action="process.php" method="post"> 
First name: <input type="text" name="firstname"> 
Last name: <input type="text" name="lastname"><br> 
Street: <input type="text" name="street" size="60"><br> 
City: <input type="text" name="city"> 
State: <input type="text" name="state"> 
ZIP: <input type="text" name="zip"><br> 
Email: <input type="text" name="email" size="60"><br> 
Phone: <input type="text" name="phone" size="60"><br> 
City/Township: <input type="text" name="votingcity"> 
Precinct No.: <input type="text" name="precinct"><br> 
<br><hr><br> 
<p>Government regulations require the following information:<br></p><br> 
Occupation: <input type="text" name="occupation" size="60"><br> 
Employer's Name: <input type="text" name="employer" size="60"><br> 
Employer's Street: <input type="text" name="emp_street" size="60"><br> 
Employer's City: <input type="text" name="emp_city"> 
Employer's State: <input type="text" name="emp_state"> 
Employer's ZIP: <input type="text" name="emp_zip"><br> 
<br><hr><br> 
Submit <input type="submit"> 
</form> 

process.php

<?php 
    $message = ''; 
    foreach($_POST as $key => $value) { 
    $message .= "$key => $value\n"; 
    } 
    mail('[email protected]','New User Registration',$message); 
    header('Location: payment.html'); 
?> 

Убедитесь, что <?php это самое начало process.php; нет предшествующего текста или пробела любого вида.

электронной почты вы получите, будет выглядеть примерно так:

firstname => Homer 
lastname => Simpson 
street => 724 Evergreen Terrace 
city => Springfield 
state => Unknown 
zip => ????? 
email => [email protected] 
phone => (939) 555-0113 
votingcity => Springfield 
precinct => N/A 
occupation => Nuclear Safety Inspector 
employer => C. Montgomery Burns 
emp_street => 100 Industrial Way 
emp_city => Springfield 
emp_state => Unknown 
emp_zip => ????? 
1

Попробуйте это в своем вступительном слове он может быть сделано в HTML это не красиво, но это может работать для вас

<form action="MAILTO:[email protected]" method="post" enctype="text/plain"> 
0

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

С помощью jQuery forminteract вы можете добавлять теги проверки в свои входы HTML, как я использовал ниже в firstNamelike this.

<form action="process.php" method="post"> 
    First name: <input type="text" name="firstname" data-validation-notNull data-validation-notNull-message="Please enter first Name"> 
<span data-error="firstName"></span> 
    Last name: <input type="text" name="lastname"><br> 
    Street: <input type="text" name="street" size="60"><br> 
    City: <input type="text" name="city"> 
    State: <input type="text" name="state"> 
    ZIP: <input type="text" name="zip"><br> 
    Email: <input type="text" name="email" size="60"><br> 
    Phone: <input type="text" name="phone" size="60"><br> 
    City/Township: <input type="text" name="votingcity"> 
    Precinct No.: <input type="text" name="precinct"><br> 
    <br><hr><br> 
    <p>Government regulations require the following information:<br></p><br> 
    Occupation: <input type="text" name="occupation" size="60"><br> 
    Employer's Name: <input type="text" name="employer" size="60"><br> 
    Employer's Street: <input type="text" name="emp_street" size="60"><br> 
    Employer's City: <input type="text" name="emp_city"> 
    Employer's State: <input type="text" name="emp_state"> 
    Employer's ZIP: <input type="text" name="emp_zip"><br> 
    <br><hr><br> 
<button type="button" id="btn-submit">Submit</button> 
    </form> 

javascript внизу страницы было бы.

var form=$("form").find("[name]").formInteract(); 
$("#btn-submit").click(function(){ 
    if(!form.validate()){ 
     //return if form is not valid 
     return; 
    } 

form.postAjax("url", function(rsp){ 
//do your stuff with response. 

}); 

}); 

Вот Линк к forminteract проекту https://bitbucket.org/ranjeet1985/forminteract

+0

Возможно, вам стоит упомянуть, что это ваш собственный плагин. – Johannes

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