Ecstasy

HTML, CSS, PHP, MySQL, LAMP;

导航

if...else..语句与逻辑运算符,添加简单的内容判断

我的小小留言板已经正式上线了,不过在实际使用中遇到了不少问题:没有内容验证!

对!留言的用户还没填写留言信息的时候失误点击了“发布留言”按钮,导致我的留言板充斥了不少“网络垃圾”。

正好我今天学习了 if...else...语句 和 逻辑运算符 ,我们来对publish.php进行小小的改造,让他不再接受空内容。

<?php

//  if...else... 语句
    if ( 条件 )
    {
        语句1;
    } else {
        语句2;
    }
//条件为真执行语句1,否则执行语句2

?>    

//逻辑运算符 //下面这是从PHP.Net的PHP手册中抄过来的 $a and $b  And(逻辑与) TRUE,如果 $a$b 都为 TRUE$a or $b   Or(逻辑或) TRUE,如果 $a$b 任一为 TRUE$a xor $b  Xor(逻辑异或) TRUE,如果 $a$b 任一为 TRUE,但不同时是。 ! $a     Not(逻辑非) TRUE,如果 $a 不为 TRUE$a && $b   And(逻辑与) TRUE,如果 $a$b 都为 TRUE$a || $b   Or(逻辑或) TRUE,如果 $a$b 任一为 TRUE

好了,上边是基础知识,下面我们就拿 publish.php 开刀手术,进行一个小小的改造:

 1 #publish.php
 2 
 3 <?php
 4     //读取配置文件
 5     include("config.php");
 6 
 7     //读取表单填写的内容
 8     $name = $_POST['name'];
 9     $email = $_POST['email'];
10     $content = $_POST['other'];
11     
12     //--------------------------------------------
13     //-判断表单提交的内容是否为一些我们不想要的值-
14     //--------------------------------------------
15     if(
16         !( $name == '名字'
17             or $name == ''
18             or email == '电子邮件'
19             or email == '' 
20             or content == '在这里输入留言的内容'
21             or content == ''
22             )
23         )
24     {
25         //连接数据库
26         $dbc = mysqli_connect($db_server_addr, $db_username, $db_password, $db_database)
27                         or die('Error Connect to MySQL Server.');
28 
29         //获得SQL语句: 获取表格中ID最大值
30         $query = "select max(id) from $db_table_name";
31 
32         //向数据库请求
33         $result = mysqli_query($dbc, $query);
34     
35         //验证表中是否有内容
36         if($row = mysqli_fetch_array($result))
37         {
38             //如有ID,将现有ID自增1
39             $id = $row['max(id)'] + 1;
40         }else{
41             //如无ID,将ID设为1
42             $id = 1;
43         }
44     
45         //获取当前日期时间信息
46         $datetime = date('Y-m-d H:i:s',time());
47     
48         //向数据表中添加数据
49         $query = "insert into $db_table_name (id, datetime, name, email, content) values ('$id', '$datetime', '$name', '$email', '$content');";
50 
51         $result = mysqli_query($dbc, $query);
52     
53         //关闭数据连接
54         mysqli_close($dbc);
55         
56         //跳转回留言板首页
57         echo "<script>location.href='index.php';</script>";
58         
59     } else {
60         echo "对不起,您填写的信息有误,请<a href=\"index.php\">返回</a>查看";
61     }
62 
63 ?>

下边是我们做的小测试:

Look! It works!

if..else...语句和逻辑运算符的应用非常广泛,成功没有捷径,大家多多练习吧~

posted on 2013-08-28 20:08  Ecstasy  阅读(447)  评论(0)    收藏  举报