• 技术文章 >后端开发 >PHP问题

    php数据库如何获取表单数据

    尚2019-10-26 16:17:39原创1509

    php数据库获取表单内容:

    示例:

    <?php
    // 创建连接
    $conn = new mysqli("localhost", "uesename", "password");
    // 检测连接
    if ($conn->connect_error)
    { 
     die("连接失败: " . $conn->connect_error);}
     // 创建数据库
     $sql = "CREATE DATABASE test";
      if ($conn->query($sql) === TRUE)
      { 
      echo "数据库创建成功";
      } else { 
      echo "Error creating database: " . $conn->error;
      }
     $conn->close();
    ?>

    然后使用CREATE TABLE 语句用于创建 MySQL 表,设置如下几个字段。

    接着使用sql语句来创建数据库表,其代码显示如下:

    <?php
     // 创建连接
     $conn = new mysqli("localhost", "uesename", "password","test");
     // 检测连接
     if ($conn->connect_error)
     { 
     die("连接失败: " . $conn->connect_error);
     }
     // 使用 sql 创建数据表
     $sql = "CREATE TABLE login (
     id INT(10) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
     username VARCHAR(30) NOT NULL,
     password VARCHAR(30) NOT NULL,
     confirm VARCHAR(30) NOT NULL,
     email VARCHAR(30) NOT NULL,
     )ENGINE=InnoDB DEFAULT CHARSET=utf8 ";
     if ($conn->query($sql) === TRUE)
     { 
     echo "Table MyGuests created successfully";
     } else { 
     echo "创建数据表错误: " . $conn->error;
     }
     $conn->close();
    ?>

    上面我们创建好了数据库和表,下面建立一个简单的表单注册的前端页面,这里的表单页面很简单,用户名,密码,密码确认,注册邮箱等等几个简单的文本框。其代码如下:

    <!DOCTYPE html>
    <html>
    <head>
     <title>用户注册页面</title>
     <meta charset="UTF-8"/>
     <style type="text/css">
     *{margin:0px;padding:0px;}
     ul{
      width:400px;
      list-style:none;
      margin:50px auto;
     }
     li{
      padding:12px;
      position:relative;
     }
     label{
      width:80px;
      display:inline-block;
      float:left;
      line-height:30px;
     }
     input[type='text'],input[type='password']{
      height:30px;
     }
     img{
      margin-left:10px;
     }
     input[type="submit"]{
      margin-left:80px;
      padding:5px 10px;
     }
     </style>
    </head>
    <body>
    <form action="zhuce.php" method="post">
     <ul>
     <li>
      <label>用户名:</label>
      <input type="text" name="username" placeholder="请输入注册账号"/>
     </li>
     <li>
      <label>密 码:</label>
      <input type="password" name="password" placeholder="请输入密码" />
     </li>
     <li>
      <label>确认密码:</label>
      <input type="password" name="confirm" placeholder="请再次输入密码" />
     </li>
     <li>
      <label>邮 箱:</label>
      <input type="text" name="email" placeholder="请输入邮箱"/>
     </li>
     <li>
      <input type="submit" value="注册" />
     </li>
     </ul>
    </form>
    </body>
    </html>

    接下来就需要使用php代码来实现新用户提交的信息给提交到数据库,使用POST方式进行值的传递和获取。

    首先需要连接前面创建完成的数据库和表,因为新用户注册的用户名,密码等信息需要保存到表中的对应字段里面。存入数据库表之前先对提交的数据进行一些判断验证,比如不符合要求的用户名,邮箱等需要有过滤和错误的提示,还要防止用户名如果被其他用户注册,则需要提示您将不能再使用这个用户名,这是先读取数据库已经存在的用户名,然后进行判断。

    简单来说就是将表单提交的数据都存入变量,然后进行密码和验证码的判断,都正确以后,将用户信息存入数据库并将数据库存放用户信息的表中所有数据提取打印出来。说白了,后半句就是数据存入和提取。其具体的代码如下所示:

    <?php
    session_start();
    header("Content-type:text/html;charset=utf-8");
    $link = mysqli_connect('localhost','root','root','test');
    if (!$link) {
     die("连接失败:".mysqli_connect_error());
    }
    $username = $_POST['username'];
    $password = $_POST['password'];
    $confirm = $_POST['confirm'];
    $email = $_POST['email'];
    if($username == "" || $password == "" || $confirm == "" || $email == "")
    {
     echo "<script>alert('信息不能为空!重新填写');window.location.href='zhuce.html'</script>";
    } elseif ((strlen($username) < 3)||(!preg_match('/^\w+$/i', $username))) {
     echo "<script>alert('用户名至少3位且不含非法字符!重新填写');window.location.href='zhuce'</script>";
     //判断用户名长度
    }elseif(strlen($password) < 5){
     echo "<script>alert('密码至少5位!重新填写');window.location.href='zhuce.html'</script>";
     //判断密码长度
    }elseif($password != $confirm) {
     echo "<script>alert('两次密码不相同!重新填写');window.location.href='zhuce.html'</script>";
     //检测两次输入密码是否相同
    } elseif (!preg_match('/^[\w\.]+@\w+\.\w+$/i', $email)) {
     echo "<script>alert('邮箱不合法!重新填写');window.location.href='zhuce.html'</script>";
     //判断邮箱格式是否合法
    } elseif(mysqli_fetch_array(mysqli_query($link,"select * from login where username = '$username'"))){
     echo "<script>alert('用户名已存在');window.location.href='zhuce.html'</script>";
    } else{
     $sql= "insert into login(username, password, confirm, email)values('$username','$password','$confirm','$email')";
     //插入数据库
     if(!(mysqli_query($link,$sql))){
     echo "<script>alert('数据插入失败');window.location.href='zhuce.html'</script>";
     }else{
     echo "<script>alert('注册成功!)</script>";
     }
    }
    ?>

    推荐:php服务器

    以上就是php数据库如何获取表单数据的详细内容,更多请关注php中文网其它相关文章!

    声明:本文原创发布php中文网,转载请注明出处,感谢您的尊重!如有疑问,请联系admin@php.cn处理
    专题推荐:php 数据库 表单
    上一篇:php语句包含中文无法查询 下一篇:php文件上传代码怎么写
    大前端线上培训班

    相关文章推荐

    • PHP与Python进行数据交互• php配置文件有哪些• php网页是繁体字怎么办• php网页无法使用css和js如何解决

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网