Home >php教程 >php手册 >解析PHP中反馈表单的具体实现办法

解析PHP中反馈表单的具体实现办法

WBOY
WBOYOriginal
2016-06-13 11:06:391375browse

一个网站经常会出现用户注册的填写表单之类的功能。我们可以通过PHP中获取表单数据是很简单的。当一个表单被发送后,表单中所包含的各个元素被赋上了相应的值,而这样就可以像引用一般变量一样使用了。

<ol class="dp-xml">
<li class="alt"><span><strong><font color="#006699"><span class="tag"><span class="tag-name">FORM</span></span></font></strong><span> </span><span class="attribute"><font color="#ff0000">name</font></span><span>=</span><span class="attribute-value"><font color="#0000ff">"myform"</font></span><span> </span><span class="attribute"><font color="#ff0000">ACTION</font></span><span>=</span><span class="attribute-value"><font color="#0000ff">"process_form.php3"</font></span><span> </span><span class="attribute"><font color="#ff0000">METHOD</font></span><span>=</span><span class="attribute-value"><font color="#0000ff">"POST"</font></span><span class="tag"><strong><font color="#006699">></font></strong></span><span>   </span></span></li>
<li class="">
<span></span><strong><font color="#006699"><span class="tag"><span class="tag-name">INPUT</span></span></font></strong><span> </span><span class="attribute"><font color="#ff0000">TYPE</font></span><span>=</span><span class="attribute-value"><font color="#0000ff">"TEXT"</font></span><span> </span><span class="attribute"><font color="#ff0000">NAME</font></span><span>=</span><span class="attribute-value"><font color="#0000ff">"mytext"</font></span><span> </span><span class="attribute"><font color="#ff0000">VALUE</font></span><span>=</span><span class="attribute-value"><font color="#0000ff">"Some Value"</font></span><span class="tag"><strong><font color="#006699">></font></strong></span><span>   </span>
</li>
<li class="alt">
<span></span><strong><font color="#006699"><span class="tag"></span><span class="tag-name">FORM</span><span class="tag">></span></font></strong><span> </span>
</li>
</ol>

在process_form.php3中,变量$mytext就被赋予了输入的值--非常简单!同样的,你可以从列表框、多选框、单选框、按钮等表单元素中取得变量值。你唯一要做的就是为表单中的每一个元素取名以便将来可以引用。

根据这个PHP中反馈表单的方法,我们可以生成一个简单的包含三个元素的表单:姓名、e-mail地址和留言。当浏览者发送表单后,处理该表单的PHP页面(sendfdbk.php3)读取数据,检查姓名是否为空,最后将数据mail给你。

表单:form.php3

<ol class="dp-xml">
<li class="alt"><span><span class="tag"><strong><font color="#006699"></font></strong></span><span>   </span></span></li>
<li class="">
<span></span><span class="tag-name"><strong><font color="#006699">include</font></strong></span><span>("include/common.inc");   </span>
</li>
<li class="alt">
<span>$</span><span class="attribute"><font color="#ff0000">title</font></span><span> = </span><span class="attribute-value"><font color="#0000ff">"Feedback"</font></span><span>;   </span>
</li>
<li class=""><span>include("include/header.inc");   </span></li>
<li class="alt">
<span></span><span class="tag"><strong><font color="#006699">?></font></strong></span><span>   </span>
</li>
<li class="">
<span></span><strong><font color="#006699"><span class="tag"><span class="tag-name">P</span><span class="tag">></span></span></font></strong><span>   </span>
</li>
<li class="alt">
<span></span><strong><font color="#006699"><span class="tag"><span class="tag-name">FORM</span></span></font></strong><span> </span><span class="attribute"><font color="#ff0000">ACTION</font></span><span>=</span><span class="attribute-value"><font color="#0000ff">"sendfdbk.php3"</font></span><span> </span><span class="attribute"><font color="#ff0000">METHOD</font></span><span>=</span><span class="attribute-value"><font color="#0000ff">"POST"</font></span><span class="tag"><strong><font color="#006699">></font></strong></span><span>   </span>
</li>
<li class="">
<span></span><strong><font color="#006699"><span class="tag"><span class="tag-name">INPUT</span></span></font></strong><span> </span><span class="attribute"><font color="#ff0000">TYPE</font></span><span>=</span><span class="attribute-value"><font color="#0000ff">"text"</font></span><span> </span><span class="attribute"><font color="#ff0000">NAME</font></span><span>=</span><span class="attribute-value"><font color="#0000ff">"name"</font></span><span> </span><span class="attribute"><font color="#ff0000">value</font></span><span>=</span><span class="attribute-value"><font color="#0000ff">"Your name"</font></span><span> </span><span class="attribute"><font color="#ff0000">SIZE</font></span><span>=</span><span class="attribute-value"><font color="#0000ff">"20"</font></span><span> </span><span class="attribute"><font color="#ff0000">MAXLENGTH</font></span><span>=</span><span class="attribute-value"><font color="#0000ff">"30"</font></span><span class="tag"><strong><font color="#006699">></font></strong></span><span>   </span>
</li>
<li class="alt">
<span></span><strong><font color="#006699"><span class="tag"><span class="tag-name">INPUT</span></span></font></strong><span> </span><span class="attribute"><font color="#ff0000">TYPE</font></span><span>=</span><span class="attribute-value"><font color="#0000ff">"text"</font></span><span> </span><span class="attribute"><font color="#ff0000">MAXLENGTH</font></span><span>=</span><span class="attribute-value"><font color="#0000ff">"40"</font></span><span> </span><span class="attribute"><font color="#ff0000">WIDTH</font></span><span>=</span><span class="attribute-value"><font color="#0000ff">"20"</font></span><span> </span><span class="attribute"><font color="#ff0000">value</font></span><span>=</span><span class="attribute-value"><font color="#0000ff">"Your Email"</font></span><span> </span><span class="attribute"><font color="#ff0000">NAME</font></span><span>=</span><span class="attribute-value"><font color="#0000ff">"email"</font></span><span class="tag"><strong><font color="#006699">></font></strong></span><span>   </span>
</li>
<li class="">
<span></span><strong><font color="#006699"><span class="tag"><span class="tag-name">BR</span><span class="tag">></span></span></font></strong><span>   </span>
</li>
<li class="alt">
<span></span><strong><font color="#006699"><span class="tag"><span class="tag-name">TEXTAREA</span></span></font></strong><span> </span><span class="attribute"><font color="#ff0000">ROWS</font></span><span>=</span><span class="attribute-value"><font color="#0000ff">"7"</font></span><span> </span><span class="attribute"><font color="#ff0000">COLS</font></span><span>=</span><span class="attribute-value"><font color="#0000ff">"40"</font></span><span> </span><span class="attribute"><font color="#ff0000">NAME</font></span><span>=</span><span class="attribute-value"><font color="#0000ff">"comment"</font></span><span class="tag"><strong><font color="#006699">></font></strong></span><span>   </span>
</li>
<li class=""><span>Your feedback on my home page.   </span></li>
<li class="alt">
<span></span><strong><font color="#006699"><span class="tag"></span><span class="tag-name">TEXTAREA</span><span class="tag">></span></font></strong><span>   </span>
</li>
<li class="">
<span></span><strong><font color="#006699"><span class="tag"><span class="tag-name">BR</span><span class="tag">></span></span></font></strong><span>   </span>
</li>
<li class="alt">
<span></span><strong><font color="#006699"><span class="tag"><span class="tag-name">INPUT</span></span></font></strong><span> </span><span class="attribute"><font color="#ff0000">TYPE</font></span><span>=</span><span class="attribute-value"><font color="#0000ff">"submit"</font></span><span> </span><span class="attribute"><font color="#ff0000">VALUE</font></span><span>=</span><span class="attribute-value"><font color="#0000ff">"Send Feedback!"</font></span><span class="tag"><strong><font color="#006699">></font></strong></span><span>   </span>
</li>
<li class="">
<span></span><strong><font color="#006699"><span class="tag"></span><span class="tag-name">FORM</span><span class="tag">></span></font></strong><span>   </span>
</li>
<li class="alt">
<span></span><strong><font color="#006699"><span class="tag"></span><span class="tag-name">P</span><span class="tag">></span></font></strong><span>   </span>
</li>
<li class="">
<span></span><span class="tag"><strong><font color="#006699"></font></strong></span><span>   </span>
</li>
<li class="alt">
<span></span><span class="tag-name"><strong><font color="#006699">include</font></strong></span><span>("include/footer.inc");   </span>
</li>
<li class="">
<span></span><span class="tag"><strong><font color="#006699">?></font></strong></span><span>   </span>
</li>
</ol>

PHP中反馈表单之处理表单:sendfdbk.php3

<ol class="dp-xml">
<li class="alt"><span><span class="tag"><strong><font color="#006699"></font></strong></span><span>   </span></span></li>
<li class="">
<span></span><span class="tag-name"><strong><font color="#006699">include</font></strong></span><span>("include/common.inc");   </span>
</li>
<li class="alt">
<span>$</span><span class="attribute"><font color="#ff0000">title</font></span><span> = </span><span class="attribute-value"><font color="#0000ff">"Feedback"</font></span><span>;   </span>
</li>
<li class=""><span>include("include/header.inc");   </span></li>
<li class="alt">
<span>if ( $</span><span class="attribute"><font color="#ff0000">name</font></span><span> == "" )   </span>
</li>
<li class=""><span>{   </span></li>
<li class="alt"><span>// 现在我很讨厌匿名的留言!   </span></li>
<li class=""><span>echo "Duh ? How come you are anonymous?";   </span></li>
<li class="alt"><span>}   </span></li>
<li class="">
<span>elseif ($</span><span class="attribute"><font color="#ff0000">name</font></span><span> == "Your name")   </span>
</li>
<li class="alt"><span>{   </span></li>
<li class=""><span>// 这个浏览者真是不想透露姓名啊!   </span></li>
<li class="alt">
<span>echo "Hello ? </span><strong><font color="#006699"><span class="tag"><span class="tag-name">B</span><span class="tag">></span></span></font></strong><span>Your name</span><strong><font color="#006699"><span class="tag"></span><span class="tag-name">B</span><span class="tag">></span></font></strong><span> is supposed to be replaced with   </span>
</li>
<li class="">
<span>your actual name!</span><strong><font color="#006699"><span class="tag"></span><span class="tag-name">B</span><span class="tag">></span></font></strong><span>";   </span>
</li>
<li class="alt"><span>}   </span></li>
<li class=""><span>else   </span></li>
<li class="alt"><span>{   </span></li>
<li class=""><span>// 输出一段礼貌的感谢语   </span></li>
<li class="alt"><span>echo "   </span></li>
<li class=""><span>Hello, $name.   </span></li>
<li class="alt">
<span></span><strong><font color="#006699"><span class="tag"><span class="tag-name">BR</span><span class="tag">></span></span></font></strong><span>   </span>
</li>
<li class=""><span>Thank you for your feedback. It is greatly appreciated.   </span></li>
<li class="alt">
<span></span><strong><font color="#006699"><span class="tag"><span class="tag-name">BR</span><span class="tag">></span></span></font></strong><span>   </span>
</li>
<li class=""><span>Thanking you   </span></li>
<li class="alt">
<span></span><strong><font color="#006699"><span class="tag"><span class="tag-name">BR</span><span class="tag">></span></span></font></strong><span>   </span>
</li>
<li class="">
<span>$MyName </span><strong><font color="#006699"><span class="tag"><span class="tag-name">BR</span><span class="tag">></span></span></font></strong><span>   </span>
</li>
<li class="alt"><span>$MyEmailLink   </span></li>
<li class=""><span>";   </span></li>
<li class="alt"><span>// 最后mail出去   </span></li>
<li class=""><span>mail($MyEmail, "Feedback.","   </span></li>
<li class="alt"><span>Name : $name   </span></li>
<li class=""><span>E-mail : $email   </span></li>
<li class="alt"><span>Comment : $comment   </span></li>
<li class=""><span>");   </span></li>
<li class="alt"><span>}   </span></li>
<li class=""><span>include("include/footer.inc");   </span></li>
<li class="alt">
<span></span><span class="tag"><strong><font color="#006699">?></font></strong></span><span>   </span>
</li>
</ol>

上面这段代码就是PHP中反馈表单的全部实现方式。


Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn