2013-03-17 72 views
0

在此先感谢您的帮助。我知道这可能是一个简单的问题,因为我对HTML比较陌生。如何处理HTML表单提交

我在我的网站上有一个表格供人们成为会员..我希望用户输入他们的信息并点击提交。当他们这样做时,我想要一封电子邮件发送给我。但是,我希望将用户重定向到网站上他们将为其成员付费的其他网页。我怎么能同时做这两件事(发送电子邮件,重定向)?

这里是我的形式:

<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语言的发送电子邮件或重定向 – 2013-03-17 16:29:48

回答

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 2013-03-17 17:11:06

+0

而你的PHP对表单数据没有任何作用 – mikemxm 2013-03-17 17:13:46

+0

你是对的,javascript并没有真正发送电子邮件,它会打开默认的电子邮件客户端并预先填充内容。 否则,我更新我的答案,添加更多关于php处理表单的细节。 – Pith 2013-03-17 18:18:50

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)并包含在发票中。我想大多数支付处理器都有一个选项可以在收到付款时通过电子邮件通知您。

但你没有问过如何会这样做,你问你如何提交表单,以便发送电子邮件和浏览器被重定向到另一个页面。

如果你不能使用我的解决方案,我真的认为你最好将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输入中添加验证标记,正如我在下面名字中所用的那样。

<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 2015-05-18 16:23:18