小白简单留言板(2)-将表单信息输入数据库

时间:2022-05-25 03:54:25

创建数据库:

1.本小白通过navicat创建数据库,创建数据库mydb,创建msg表用来储存信息,有id,user,content,time,其中id为主键自动递增,设置好字符集,排序规则。

网页数据传入数据库

  1. 连接数据库
  2. $user = $_POST[‘user’];$content = $_POST[‘content’];//【】里的就是表格中的name属性
  3. 创建自己写的Input对象(构造函数为 public function __construct($user ,$content )),使用自己写的judge方法判断数据输入是否正确,能否插入数据库,在函数中应用都要用$this->   如$this->user == ‘’;//判断是否为空;
  4. $time = time();//time() 函数返回自 Unix 纪元(January 1 1970 00:00:00 GMT)起的当前时间的秒数,
  5. $sql = "insert msg(user,content,time) values(‘{$user}‘ ,‘{$content}‘, ‘{$time}‘)";//将sql语句存起来。
  6. $db->query(“sql语句”);//用来在数据库中执行此sql语句(上面),返回true或者false,可用来判断信息是否入数据库成功
  7. header(“location:gbook.php”); //立刻返回原网页并刷新
     1 <?php //用来判断数据是否合法的类
     2     class Input{
     3         public $user;public $content;
     4         public function __construct($user, $content){//构造函数
     5             $this->user = $user;
     6             $this->content = $content;
     7             echo "<br/>数据初始化成功,即将写入数据。。。。。。。。<br/>";    
     8         }
     9         public function judge(){
    10             $forbid = [‘你妈妈‘, ‘你爸爸‘, ‘你个傻逼东西‘];//禁止的用户名
    11             foreach($forbid as $user0){//遍历forbid,把$forbid中每个数据分别放入user0
    12                 if($user0 == $this->user or $this->user==‘‘){//进行判断数据是否合法
    13                     die("用户名错误");//die能直接结束并输出,不执行下面的语句
    14                 }
    15             }
    16             if($this->content == ‘‘)
    17                 die("内容不能为空");
    18             echo "成功获取<br/>用户名:{$this->user}<br/>内容:{$this->content}<br/>";
    19         }
    20     }
    21 ?>

     


     1 <?php
     2     //1.连接数据库,也可写入connect.php文件,直接用include(‘connect.php‘)调用
     3     $host = "127.0.0.1";
     4         $user = "root";
     5         $pwd = "root";
     6         $dbname = "mydb";
     7         $db = new mysqli($host, $user, $pwd, $dbname);
     8     //var_dump($db);
     9     if($db->connect_errno != 0){//判断数据库是否连接成功
    10         echo $db->connect_errno;
    11         die("数据库连接失败");
    12     }
    13     //else echo"成功";
    14     $db->query("SET NAMES UTF8");//设置数据库传输数据的编码,不然乱码
    15     //2.连接成功,开始接受数据
    16     include("Input.php");//导入对象Input,用来判断输入的数据是否合理
    17     $user = $_POST[‘user‘];
    18     $content = $_POST[‘content‘];
    19     echo "接收数据成功:<br/>用户: $user <br />内容: $content  ";
    20     $input = new Input($user, $content);
    21     $input->judge();//判断数据是否合法
    22     $time = time();
    23     $sql = "insert msg(user,content,time) values(‘{$user}‘ ,‘{$content}‘, ‘{$time}‘)";//储存sql语句
    24     //echo $sql;
    25     $judge = $db->query($sql);//执行sql语句
    26     if($judge === false){echo "sql错误";}
    27     else echo "已经成功插入";
    28     header("location:gbook.php");//返回原网页并刷新,把它注析可看到过程。
    29 ?>