编辑整理:整理来源:腾讯视频,浏览量:85,时间:2023-03-11 14:00:03
当然第一步是要创建一个页面模板。先创建一个 page-contact.php的文件,然后将page.php文件里的代码复制到这个新建的文件里。
为了确保wordpress能够将它当作一个页面模板来看待,我们需要在contact.php文件的开头添加下面的注释
<?php/*template name: contact*/?>也就是说contact.php文件应该是下面这样子的:<?php/*template name: contact*/?><?php get_header() ?><div ><div ><?php the_post() ?><div ><div ></div><!-- .entry-content -></div><!-- .post--></div><!-- #content --></div><!-- #container --><?php get_sidebar() ?><?php get_footer() ?>步骤二: 创建表单现在,我们需要创建一个简单的联系表单,只要将下面的代码粘贴到 entry-content div内部即可。
<form action="<?php the_permalink(); ?>" method="post"><ul><li><label for="contactname">name:</label><input type="text" name="contactname" value="" /></li><li><label for="email">email</label><input type="text" name="email" value="" /></li><li><label for="commentstext">message:</label><textarea name="comments" rows="20" cols="30"></textarea></li><li><button type="submit">send email</button></li></ul><input type="hidden" name="submitted" value="true" /></form>这个html代码相当明了,不过要注意下第19行的 input type=”hidden”,我们后面会用它来检查表单是否提交。
步骤三: 数据的处理和错误的应对表单看起来已经不错了,但是此刻它仍然是无效的因为它没有发送任何邮件。我们需要做的是验证表单是否提交,然后再验证表单的字段填写是否正确。
如果填写都是正确的,就会收到博客管理员的邮件并向他们发送邮件。否则,就无法发送邮件,错误提示就会显示给用户。
将下面的代码粘贴在页面模板声明和get_header()函数之间:
<?phpif(isset($_post['submitted'])) {if(trim($_post['contactname']) === '') {$nameerror = 'please enter your name.';$haserror = true;} else {$name = trim($_post['contactname']);}if(trim($_post['email']) === '') {$emailerror = 'please enter your email address.';$haserror = true;} else if (!eregi("^[a-z0-9._%-]+@[a-z0-9._%-]+\.[a-z]{2,4}$", trim($_post['email']))) {$emailerror = 'you entered an invalid email address.';$haserror = true;} else {$email = trim($_post['email']);}if(trim($_post['comments']) === '') {$commenterror = 'please enter a message.';$haserror = true;} else {if(function_exists('stripslashes')) {$comments = stripslashes(trim($_post['comments']));} else {$comments = trim($_post['comments']);}}if(!isset($haserror)) {$emailto = get_option('tz_email');if (!isset($emailto) || ($emailto == '') ){$emailto = get_option('admin_email');}$subject = '[php snippets] from '.$name;$body = "name: $name \n\nemail: $email \n\ncomments: $comments";$headers = 'from: '.$name.' <'.$emailto.'>' . "\r\n" . 'reply-to: ' . $email;mail($emailto, $subject, $body, $headers);$emailsent = true;}} ?>这段代码确认表单是否提交,是否正确填写。如果发生错误,比如,一个字段是空的,或者邮箱地址不正确,就会返回错误提示的信息,表单就无法提交。
接着就是显示错误提示的信息,例如,“请输入你的姓名”。 下面是完整的表单页面模板,如果喜欢的话你可以原封不动地使用。
<?php/*template name: contact*/?><?phpif(isset($_post['submitted'])) {if(trim($_post['contactname']) === '') {$nameerror = 'please enter your name.';$haserror = true;} else {$name = trim($_post['contactname']);}if(trim($_post['email']) === '') {$emailerror = 'please enter your email address.';$haserror = true;} else if (!eregi("^[a-z0-9._%-]+@[a-z0-9._%-]+\.[a-z]{2,4}$", trim($_post['email']))) {$emailerror = 'you entered an invalid email address.';$haserror = true;} else {$email = trim($_post['email']);}if(trim($_post['comments']) === '') {$commenterror = 'please enter a message.';$haserror = true;} else {if(function_exists('stripslashes')) {$comments = stripslashes(trim($_post['comments']));} else {$comments = trim($_post['comments']);}}if(!isset($haserror)) {$emailto = get_option('tz_email');if (!isset($emailto) || ($emailto == '') ){$emailto = get_option('admin_email');}$subject = '[php snippets] from '.$name;$body = "name: $name \n\nemail: $email \n\ncomments: $comments";$headers = 'from: '.$name.' <'.$emailto.'>' . "\r\n" . 'reply-to: ' . $email;mail($emailto, $subject, $body, $headers);$emailsent = true;}} ?><?php get_header(); ?><div ><div ><?php if (have_posts()) : while (have_posts()) : the_post(); ?><div <?php post_class() ?> ><h1 ><?php the_title(); ?></h1><div ><?php if(isset($emailsent) && $emailsent == true) { ?><div ><p>thanks, your email was sent successfully.</p></div><?php } else { ?><?php the_content(); ?><?php if(isset($haserror) || isset($captchaerror)) { ?><p >sorry, an error occured.<p><?php } ?><form action="<?php the_permalink(); ?>" method="post"><ul ><li><label for="contactname">name:</label><input type="text" name="contactname" value="<?php if(isset($_post['contactname'])) echo $_post['contactname'];?>" /><?php if($nameerror != '') { ?><span ><?=$nameerror;?></span><?php } ?></li><li><label for="email">email</label><input type="text" name="email" value="<?php if(isset($_post['email'])) echo $_post['email'];?>" /><?php if($emailerror != '') { ?><span ><?=$emailerror;?></span><?php } ?></li><li><label for="commentstext">message:</label><textarea name="comments" rows="20" cols="30" ><?php if(isset($_post['comments'])) { if(function_exists('stripslashes')) { echo stripslashes($_post['comments']); } else { echo $_post['comments']; } } ?></textarea><?php if($commenterror != '') { ?><span ><?=$commenterror;?></span><?php } ?></li><li><input type="submit">send email</input></li></ul><input type="hidden" name="submitted" value="true" /></form><?php } ?></div><!-- .entry-content --></div><!-- .post --><?php endwhile; endif; ?></div><!-- #content --></div><!-- #container --><?php get_sidebar(); ?><?php get_footer(); ?>第四步骤: 添加jquery验证到此为止,我们的表达已经能够非常完美的运作了。不过你还可以通过添加一个客户端验证来改善它。为此,我打算使用jquery和 validate jquery插件,这个插件非常强大,通过它你可以正确、快速、轻松地验证表单。
首先是下载验证插件 然后将它上传到你的主题文件里,完成之后,将下面的代码粘贴到一个新的文件里:
$(document).ready(function(){$("#contactform").validate();});将这个文件命名为verif.js并保存至你的主题文件目录里。
现在就需要将这个javascript文件链接到主题里,打开你的header.php文件,把下面的代码粘贴到<head>和</head>这两个标签之间:
<?php if( is_page('contact') ){ ?>
<script type="text/javascript" src="<?php bloginfo('template_directory'); ?>/js/jquery.validate.min.js"></script>
<script type="text/javascript" src="<?php bloginfo('template_directory'); ?>/js/verif.js"></script>
<?php }?>
大功告成!
材料/工具:Exce议责良冷叶哪圆清烟液l20101、我们在同一个Excel中看到有sheet1和sheet22、我们要把sheet1中表格的数据的D1数据中的数字和sheet2中的表格D1数据实现联动效应。3、我们看向坐压一下D1中加入的公式是=(A1:B1:C1)的和,也就是当A1,B1,C1,中的数据任何一个数据变化,D1的数据就会发生变化。4、我们明白这个原理之后,需要把sheet1中D1的公式复制到sheet2中D1的公式当中,如果是整列都要变动,那么只需要拖动整列表格即可实现整列的表格与Sheet1中的表格联动效应。5、如果在同一个表格中实现联动效应也很简,我们将A1的数字与A5的数字实现联动只需要在A5中输入算法=A1然后按回车就可以了。6、在实现表格联动需要注意的是,在选中的表格中的算法不能够删除,如果联动论一方表格的算法删除,在另一官个表格中将无法实现联动效应。7、在表格增添、删减之后表格会出现行数和列数发生变化,这个时候我们需要重新输入算法,如果输入的算法的表格没有反应,我们需要将所在的表格的的单元格格式改成常规就可以了。