Home >Backend Development >PHP Tutorial >How to submit php form to database? (detailed explanation)

How to submit php form to database? (detailed explanation)

伊谢尔伦
伊谢尔伦Original
2017-04-22 14:03:1922626browse

To submit data to the server-side database, form form is used. This is the most common and simplest way to submit data. After filling in the form, the post is submitted to the background .php file, and after processing, it returns to the specified page. Finally, The page refreshed again, displaying the expected page. The following article will give you a detailed explanation of submitting PHP forms to the database through examples.

How to submit php form to database? (detailed explanation)

Generally when friends visit some websites and want to use the website or see more content on the website, the website will ask the user to register as a new user, and the website will The registration information of new users is stored in the database and retrieved when needed.

In this way, the website will first create its own database and corresponding tables. Here we use php to create a simple database and table, and use phpMyAdmin to create MySql database and table. For example, create a test database. The sample code is as follows:

<?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();
?>

Then use the CREATE TABLE statement to create a MySQL table and set the following fields.

id : It is unique, of type int , and selects the primary key.

uesrname: Username, type is varchar, length is 30.

password: Password, type is varchar, length is 30.

confirm: Confirm password, type is varchar, length is 30.

email: Email, type is varchar, length is 30.

Then use sql statements to create database tables. The code is shown as follows:

<?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();
?>

We have created the database and tables above, and now we will create a simple front-end page for form registration. The form page here is very simple, with a few simple text boxes such as username, password, password confirmation, registration email, etc. The code is as follows:

<!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=&#39;text&#39;],input[type=&#39;password&#39;]{
      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>

Next, you need to use PHP code to submit the information submitted by the new user to the database, and use the POST method to transfer and obtain the value.

First, you need to connect to the database and table created previously, because the user name, password and other information registered by the new user need to be saved in the corresponding fields in the table. Before storing the data in the database table, make some judgments and verifications on the submitted data. For example, user names and emails that do not meet the requirements need to be filtered and error prompts are needed. Also, if the user name is registered by other users, you need to be prompted that you will not be able to To use this username again, this is to first read the username that already exists in the database and then make a judgment.

Simply put, the data submitted by the form is stored in the variable, and then the password and verification code are judged. After both are correct, the user information is stored The database extracts and prints out all the data in the table where user information is stored in the database.

To put it bluntly, the second half of the sentence is about data storage and extraction. The specific code is as follows:

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

Friends can do various operations and attempts by themselves. After becoming proficient, they will have a certain in-depth understanding of form operations and database operations, laying a good foundation for future development. Foundation.

The above is the detailed content of How to submit php form to database? (detailed explanation). For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn