网页中的提交表单代码怎么做?在告诉我下怎么提交后发送到邮箱中
我是一位新手,在制作网页的时候遇到一个问题,就是做一个网上订单表单是能做出来,但是怎么提交呢?还有就是把提交的表单内容发送到自己的邮箱上,这都要怎么做呢?请老师们帮帮忙,...
我是一位新手,在制作网页的时候遇到一个问题,就是做一个网上订单
表单是能做出来,但是怎么提交呢?还有就是把提交的表单内容发送到自己的邮箱上,这都要怎么做呢?
请老师们帮帮忙,最好有完整的例子,带注释的,谢谢了 展开
表单是能做出来,但是怎么提交呢?还有就是把提交的表单内容发送到自己的邮箱上,这都要怎么做呢?
请老师们帮帮忙,最好有完整的例子,带注释的,谢谢了 展开
4个回答
展开全部
因为自己做过新手,也困惑过,在此做皮毛解释,答楼主问。
1.网页可分为静态和动态
通俗的讲静态网页就是以HTML后缀的页面,在服务器上放上什么,浏览者就可以看到什么。动态网页是在静态网页的代码中加入了网络程序语言,常见的ASP,JSP,PHP,.NET等,其基本原理就是浏览者提交信息发送到服务器,程序处理后返回相应的信息,是一种可以互动的交互式操作,如留言板,论坛等。
2.表单提交属于动态网页范畴,可以用不同的程序来做出来,以ASP为例,就是浏览者填写表单后,点击确定,所填写的会发送到服务器,并可以记录在网站后台的数据库中,这些在ASP的学习中是简单的一些道理,如果没有接触过,可能会感觉理解不了。
3.表单的提交只需要在FORM中设置发送到自己的信箱即可。
4.动态网页的制作需要用到XP的组件IIS,否则在本地浏览只能适用于静态网页。
例子如下:
以百度回答问题的这个提交表单为例,需要五个网页文件:
index.asp /显示表单
conn.asp /数据库连接
add.asp /表单处理页面
website.css /样式表
sht.mdb /数据库文件
index.asp
<% option explicit%>
<!--#Include file="ado.asp"-->
<HTML>
<head>
<title>表单示例</title>
<link rel="stylesheet" href="style.css">
<Script Language="JavaScript">
<!--
Function check_Null(){
If (document.form1.title.value==""){
alert("主题不能为空!");
return false;
}
If (document.form1.name.value==""){
alert("姓名不能为空!");
return false;
}
return true;
}
// -->
</Script>
</head>
<body >
<center>
<table border='0' width='80%' >
<form method="post" action="add.asp" name="form1" onSubmit="JavaScript: return check_Null();">
<tr><td> </td><td><textarea name="body" rows=6 cols=80 wrap=soft></textarea></td></tr>
<tr><td> </td><td> </td></tr>
<tr><td></td>
<td valign="middle"><label>
用户名:
<input type="text" name="name" size="10">
<input type="checkbox" name="checkbox" value="checkbox">
</label>
匿名发表
<input type="submit" value=" 提交 " Size="20"></td></tr>
</form>
</table>
<p>
<%
'现在开始显示已有留言
Dim Sql,rs '声明变量
Sql="Select body,name,submit_date From guest "
Sql=Sql & " Order By submit_date desc,id desc" '这里用了两个字段排序
SET rs=db.Execute(Sql) '返回一个Recordset对象
Do While Not rs.Eof '利用循环依次显示所有记录
%>
<table border="0" bordercolor="#8800FF" width="80%">
<tr>
<td colspan=2><hr></td>
</tr>
<tr>
<td width=5% rowspan="2"> </td>
<td width="95%"><%=rs("submit_date")%> <%=rs("name")%></td>
</tr>
<tr>
<td><%=rs("body")%></td>
</tr>
</table>
<%
rs.MoveNext '将记录指针移动到下一条记录
Loop
%>
</center>
</body>
</html>
conn.asp
<%
'这里只是建立数据库连接对象db。
Dim db
Set db=Server.CreateObject("ADODB.Connection")
db.Open "Driver={Microsoft Access Driver (*.mdb)};Dbq="&Server.Mappath("guest.mdb")
%>
add.asp
<!--#Include file="conn.asp"-->
<%
Dim body '声明变量
body=Request.Form("body") '返回留言内容
Dim sqla,name,sqlb,sql
sqla = "Insert Into sth(name"
sqlb = "Values('" & name & "'"
If body<>"" Then '如果留言内容不为空
sqla = sqla & ",body"
sqlb = sqlb & ",'" & body & "'"
End If
sqla = sqla & ",submit_date"
sqlb = sqlb & ",'" & now() & "'" '插入系统时间为留言时间
'下面一句就是将SQL语句的前后两部分组织成一个完整的Inser语句
sql = sqla & ") " & sqlb & ")"
db.Execute(Sql) '插入记录
Response.Redirect "index.asp" '重定向回首页
%>
1.网页可分为静态和动态
通俗的讲静态网页就是以HTML后缀的页面,在服务器上放上什么,浏览者就可以看到什么。动态网页是在静态网页的代码中加入了网络程序语言,常见的ASP,JSP,PHP,.NET等,其基本原理就是浏览者提交信息发送到服务器,程序处理后返回相应的信息,是一种可以互动的交互式操作,如留言板,论坛等。
2.表单提交属于动态网页范畴,可以用不同的程序来做出来,以ASP为例,就是浏览者填写表单后,点击确定,所填写的会发送到服务器,并可以记录在网站后台的数据库中,这些在ASP的学习中是简单的一些道理,如果没有接触过,可能会感觉理解不了。
3.表单的提交只需要在FORM中设置发送到自己的信箱即可。
4.动态网页的制作需要用到XP的组件IIS,否则在本地浏览只能适用于静态网页。
例子如下:
以百度回答问题的这个提交表单为例,需要五个网页文件:
index.asp /显示表单
conn.asp /数据库连接
add.asp /表单处理页面
website.css /样式表
sht.mdb /数据库文件
index.asp
<% option explicit%>
<!--#Include file="ado.asp"-->
<HTML>
<head>
<title>表单示例</title>
<link rel="stylesheet" href="style.css">
<Script Language="JavaScript">
<!--
Function check_Null(){
If (document.form1.title.value==""){
alert("主题不能为空!");
return false;
}
If (document.form1.name.value==""){
alert("姓名不能为空!");
return false;
}
return true;
}
// -->
</Script>
</head>
<body >
<center>
<table border='0' width='80%' >
<form method="post" action="add.asp" name="form1" onSubmit="JavaScript: return check_Null();">
<tr><td> </td><td><textarea name="body" rows=6 cols=80 wrap=soft></textarea></td></tr>
<tr><td> </td><td> </td></tr>
<tr><td></td>
<td valign="middle"><label>
用户名:
<input type="text" name="name" size="10">
<input type="checkbox" name="checkbox" value="checkbox">
</label>
匿名发表
<input type="submit" value=" 提交 " Size="20"></td></tr>
</form>
</table>
<p>
<%
'现在开始显示已有留言
Dim Sql,rs '声明变量
Sql="Select body,name,submit_date From guest "
Sql=Sql & " Order By submit_date desc,id desc" '这里用了两个字段排序
SET rs=db.Execute(Sql) '返回一个Recordset对象
Do While Not rs.Eof '利用循环依次显示所有记录
%>
<table border="0" bordercolor="#8800FF" width="80%">
<tr>
<td colspan=2><hr></td>
</tr>
<tr>
<td width=5% rowspan="2"> </td>
<td width="95%"><%=rs("submit_date")%> <%=rs("name")%></td>
</tr>
<tr>
<td><%=rs("body")%></td>
</tr>
</table>
<%
rs.MoveNext '将记录指针移动到下一条记录
Loop
%>
</center>
</body>
</html>
conn.asp
<%
'这里只是建立数据库连接对象db。
Dim db
Set db=Server.CreateObject("ADODB.Connection")
db.Open "Driver={Microsoft Access Driver (*.mdb)};Dbq="&Server.Mappath("guest.mdb")
%>
add.asp
<!--#Include file="conn.asp"-->
<%
Dim body '声明变量
body=Request.Form("body") '返回留言内容
Dim sqla,name,sqlb,sql
sqla = "Insert Into sth(name"
sqlb = "Values('" & name & "'"
If body<>"" Then '如果留言内容不为空
sqla = sqla & ",body"
sqlb = sqlb & ",'" & body & "'"
End If
sqla = sqla & ",submit_date"
sqlb = sqlb & ",'" & now() & "'" '插入系统时间为留言时间
'下面一句就是将SQL语句的前后两部分组织成一个完整的Inser语句
sql = sqla & ") " & sqlb & ")"
db.Execute(Sql) '插入记录
Response.Redirect "index.asp" '重定向回首页
%>
参考资料: 、
展开全部
这个代码我也很找了N久。才找到。做两个页面如下:
<---------sendmail.asp--------->
<%
HtmlBody=request("HtmlBody")
HtmlBody=Replace(HtmlBody,"button","hidden")
HtmlBody=Replace(HtmlBody,"submit","hidden")
HtmlBody=Replace(HtmlBody,"reset","hidden")
'Response.write HtmlBody
'Response.end
dim CLStr,msg,mailserver,username,password,receive
CLStr=Chr(13) & Chr(10)
'请在此修改相关信息
mailserver="smtp.163.com" '邮局服务器地址(smtp服务器地址)
username="xxx@163.com" 'smtp服务器验证登陆名(测试了很多邮箱,好像只有很老的邮箱才行,至少2006年前的吧)
password="xxx" 'smtp服务器验证密码 (信箱密码?
receive="test@163.com" '接受反馈信息的email地址(可以是您的任何有效信箱)
'修改结束
Set msg = Server.CreateObject("JMail.Message")
msg.silent = true
msg.Logging = true
msg.Charset = "gb2312"
msg.MailServerUserName = username
msg.MailServerPassword = password
msg.From = username
msg.FromName = username
msg.AddRecipient (receive)
msg.Subject ="==邮件标题=="
msg.HtmlBody=HtmlBody
'msg.Send (mailserver)
if not msg.send(mailserver) then
errortxt="邮件发送失败,请返回!"
else
errortxt="您的信息已经发送!^_^\n\n"
end if
msg.close
set msg = nothing
response.write "<script>alert('"&errortxt&"');history.go(-1);</script>"
%>
-------发送表单页面index.asp----------------
<script language="JavaScript">
function GetHtmlBody(form)
{
form.HtmlBody.value=PG.outerHTML;
}
</script>
<div id="PG"><form action="sendmail.asp" method="post" onSubmit="GetHtmlBody(this)">
<input type="hidden" name="HtmlBody">
<这里是表单内容,DW里面编辑就可以,提交后,这个表单就发送到你要保存的邮箱的>
</form>
</div>
你的空间要支持JMAIL组件,没有就去下一个,解决了希望追加分哦,找了N久才找到的,
<---------sendmail.asp--------->
<%
HtmlBody=request("HtmlBody")
HtmlBody=Replace(HtmlBody,"button","hidden")
HtmlBody=Replace(HtmlBody,"submit","hidden")
HtmlBody=Replace(HtmlBody,"reset","hidden")
'Response.write HtmlBody
'Response.end
dim CLStr,msg,mailserver,username,password,receive
CLStr=Chr(13) & Chr(10)
'请在此修改相关信息
mailserver="smtp.163.com" '邮局服务器地址(smtp服务器地址)
username="xxx@163.com" 'smtp服务器验证登陆名(测试了很多邮箱,好像只有很老的邮箱才行,至少2006年前的吧)
password="xxx" 'smtp服务器验证密码 (信箱密码?
receive="test@163.com" '接受反馈信息的email地址(可以是您的任何有效信箱)
'修改结束
Set msg = Server.CreateObject("JMail.Message")
msg.silent = true
msg.Logging = true
msg.Charset = "gb2312"
msg.MailServerUserName = username
msg.MailServerPassword = password
msg.From = username
msg.FromName = username
msg.AddRecipient (receive)
msg.Subject ="==邮件标题=="
msg.HtmlBody=HtmlBody
'msg.Send (mailserver)
if not msg.send(mailserver) then
errortxt="邮件发送失败,请返回!"
else
errortxt="您的信息已经发送!^_^\n\n"
end if
msg.close
set msg = nothing
response.write "<script>alert('"&errortxt&"');history.go(-1);</script>"
%>
-------发送表单页面index.asp----------------
<script language="JavaScript">
function GetHtmlBody(form)
{
form.HtmlBody.value=PG.outerHTML;
}
</script>
<div id="PG"><form action="sendmail.asp" method="post" onSubmit="GetHtmlBody(this)">
<input type="hidden" name="HtmlBody">
<这里是表单内容,DW里面编辑就可以,提交后,这个表单就发送到你要保存的邮箱的>
</form>
</div>
你的空间要支持JMAIL组件,没有就去下一个,解决了希望追加分哦,找了N久才找到的,
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
http://blog.163.com/amoschou/配置一下就ok了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
没分怎么告诉你啊
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询