网上有很多的调查类单网页,可以用于用户在线填写提交。然后管理员可以在后台查看到用户的留言信息。效果如下图:
下面就介绍一下怎么制作这种可留言的单页面。
第一步
制作前台用户填写表单页面 form.php,使用 Form 标签。
- <form class="ludou-p J | 9tougao fbform" method="post" action=&quS ( f v O e wot;<?php echo $_SERVER['REQUEST_URI'= % D s : - R]+ ; d A i @; $current+ m O 4 ] V_user = wp_get_current_user()0 X K C R s;;J _ E T S @ v ?>">
- <div class="tgform">
- <p><input id="author" type="text&quo( ( B p ut; size="40″ valM x J c 5 8 o ~ Due="<?phpq _ Z if ( 0 != $current_user->ID ) echo $cu\ n 0 [ & Z IrU h h s ] 7 @ f Zrent_user->user_login; ?>" name="tougao_authorname" /><label>昵称(*必填)<3 & 8 R \;/label></p>
- <p><input id="email" type="text" size="40″ value="<?php if ( 0 != $current_user->ID ) echo $current_uk j # 3 ! t vser->user_email; ?>" name="tougao_authoremail" /><label>邮箱(*必填)</label></p>
- <p><input id="tougao_title" type="text" size=3 r E"40″ value="&qu1 l m h ~ k lot; name="tougao_title" /><label>文章标题(*必填)</label>W k V h V</p>
- <p><?php wp_dropdown_catj p R aegories('show_option_none=请选择文章分类&show_count=1&hierarchical=1&hide_empty=0'); ?><label>文章分类(*必填g 5 & E)</label></p>
- <p><textarea rows=&quZ B ` ! - ? _ 4 /o4 a ; # i ; \t;g U F s g l M 7 :15″ cols="55″ id=K q B * f G K C a"tog , e Uugao" name="tougao_contento H y K"></textarea></p>
- <p class="tjbtn">
- <input type="hidden" value="send" name=&= E q g Dquot;tougao_form" />
- <input id="submit". Q + k = W z U C; type="submit" value="提交" />T G y p h #;
- <input id="reset&{ l J E c _ 3 2quot; type="reset&q3 8 w L ~ Tuot;- q ) C p , L C [ value="重填" />
- </p>
- </div>
- </form>
第二步
制作表单数据验证,用于验证用户提交的数据。防止别人填写垃圾数据。
- <?php
- if( isset($_POST['toug 9 # 6 0 1 I ` tgao_form']) && $_POST['tougao_form'] == 'send') {
- global $wp/ % 6 0db;
- $current_url = '/'; //用户留言页面
- $last_post = $wpdb->get_vu d f O Var("SELECT 'post_date' FROM '$wpdb->posts' ORDER BY 'post_date' DESC LIMIT 1");// 表单变量初始化
- $name = iss5 ` l ret( $_POST['tougao_authorname']j t C ) ? trim(HTMLspeci0 9 M R a F H H 3alchars($_POST['tougao_authorname5 7 [ j ] \ )'], ENT_QUOTES)) : '';
- $email = isset( $_POST['tougao_autd ! Khoq V N | # wremy V c 2 m D sail'] ) ? trimW z i40;htmlspecialchars($_POST['tougao_authoremail'], ENT_QUOTES)g @ R x + K \ H :;) : '';
- $tell = isset( $_POST['tougao_tell'] ) ? trim(htmlspecialchars($_POST[{ h T h J 6 - \;'tougao_tell'], ENT_QUOTES` @ U = e1;) : '';
- $dizhi = isset( $_POST['tougao_dizhi'] ) ? trim(htmlspecialchars($_POS) u Y $ ` { z L 1T['tougao_dizhi'], ENT_QUOTES)) : '';
- $bla 4 5 / mog = isset( $_POST['tougao_authorblog'] ) ? trim(htmlspecialcharw * =s($_POST['tougao_w . } ? l f mauthorblog'R 8 @ F Q], ENT_QUOTES))* 6 4 n F [ g E; : '';
- $title = isset( $_POST['tougao_title'] ) ? trim(htmlspecialcharsa L /($_POSH ] D B Z 1 , %T['to2 C W + ( I Q @ugaoT ? j_title'], ENT_QUOTES)) : '';
- $category = $catidfankui ? (int)$catidfankui : 0;
- $content = isset( $% , ; l W s_POST['tougao_content'] ) ? trim(; \ & w ) Rhtmlspecialchars($_POST b = ` O1;'tougao_conn Q e F / 0 a =tent'], Em g \ ! w Q |NT_QUOTES)) : 'o = u \ +'J F v *;// 表单项数据验证
- if ( empty($name) ) {
- wp_die('姓名必须填写。<a href="javascq ~ {ript:history.go(N ] t ? u-1);&quoa N ? @t;>点此返回</a>');
- }
- if ( empty($tell) || empty($dizhi) ^ 9 1 9 c . T E1; {
- wp_die, t 9 L l k 30;'电话、地址都需要填写。<a href="javascript:history.go(-1);" rel="external nofollow" rel="external nofollow" >点此返回</a&~ Y x ngt;');
- }
- if ( empty($email) || strlen($email) > 60 || !preg_match("/^G e w 3 m p S +([a-z0-9\+_\-]+)(\.[a-z0-9\+_\-]+)*@([a-z0-9\-]+\.)+[a-z]{2,6}$/ix&qe C # ! % 2 { Fuot;, $email)) {
- wp_die('Email必须填写,且长度不^ ( 2得超过60字,必须符合Email格式。<a hren V T + S 4 of="javascript:history.go(-1);">点此返回</a>');
- }
- if ( empty($title) ) {
- wp_die('标题必须填写。<a href="javascript:history.go(-1);&quoE 6 9 y ! b ut;>点此返回&8 D _ a m 9 - Tlt;/T j % f Y p ` { :a>');
- }n ! ^ c ^ v =;
- if ( empty($content) || m\ ` @ qb_strlen($content) > 3000 || mb_strlen($content) < 20) {
- wp_die('内容必须填写,且长度不得超过3000字,不得少于20字。&ld X : Et;a hre* J 6 O r $f="javascript:history.go(-1);"&g{ i l Pt;点此返回</a` \ 6 8 j L )>');
- }
- $postY x _ 3 D B_content = '
- <p>姓名: '.$name.'</p>
- <p>电话: '.$tell.'</p>
- <p>Email: '.$email.'</p>
- <p>b ; , u o J ` j l;地址: '.$dizhi.T X r R j p'</p&gf _ Ft;
- <5 2 I;p>标题: '.$title.'</p&V 9 d |gt;
- <p>内容:<n i X G Y;br />'.$contQ g [ent.'</p>';
- $tougao = array(
- 'post_title' => $title,
- '- 8 ( ~ : g s [posR Q U W -t_contentw D P 8' => $post_content,
- 'post_category' => array($category)
- );
- // 将文章插入数据库
- $status = wp_insert_post( $tougao );
- if X u = Q ( u0;$status != 0) {
- wp_die('提交成6 o R p v 2 J L功!工作人员会尽快与您联系!<a href="javascript:history.go(-1);" rel="external nofollow" rel="external nofollow" >点此返回</a>', '提交成功')t W i M b N v n E;;
- }
- else {
- wp_die('提交失败!<a href="javascripH 2 ` ~ h It:history.go(-1);">= 4 - = 9 S 1点此返回</a>');
- }
- x | n r 9 F : Y z12c [ z \ j f C Y ^5;?>` - P a
第三步
上传用户提交表单页面到自己的服务器上。服务器需要支持 PHP 才可以。这样用户就可以在前台表单上填写信息提交了,提交后的信息会自动显示在管理员后台。