Maison > développement back-end > tutoriel php > Comment soumettre un formulaire php à la base de données ? (explication détaillée)

Comment soumettre un formulaire php à la base de données ? (explication détaillée)

伊谢尔伦
Libérer: 2023-03-07 15:48:01
original
22599 Les gens l'ont consulté

Pour soumettre des données à la base de données côté serveur, un formulaire est utilisé. Il s'agit du moyen le plus courant et le plus simple de soumettre des données. Après avoir rempli le formulaire, la publication est soumise au fichier .php en arrière-plan et après traitement. , il revient à la page spécifiée. Enfin, la page est à nouveau actualisée, affichant la page attendue. L'article suivant vous donnera une explication détaillée de la soumission d'un formulaire PHP à la base de données à travers des exemples.

Comment soumettre un formulaire php à la base de données ? (explication détaillée)

Généralement, lorsque des amis visitent certains sites Web et souhaitent utiliser le site Web ou voir plus de contenu sur le site Web, le site Web demandera à l'utilisateur de s'inscrire en tant que nouvel utilisateur, et le le site Web permettra aux informations d'enregistrement des nouveaux utilisateurs d'être stockées dans la base de données et récupérées en cas de besoin.

De cette façon, le site Web créera d'abord sa propre base de données et les tables correspondantes. Ici, nous utilisons php pour créer une base de données et une table simples, et utilisons phpMyAdmin pour créer le MySql. base de données et table. Par exemple, créez une base de données de test. L'exemple de code est le suivant :

<?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();
?>
Copier après la connexion

Utilisez ensuite l'instruction CREATE TABLE pour créer une table MySQL et définissez les champs suivants.

id : Il est unique, de type int , et sélectionne la clé primaire.

uesrname : nom d'utilisateur, le type est varchar, la longueur est 30.

mot de passe : mot de passe, le type est varchar, la longueur est 30.

confirmer : Confirmez le mot de passe, tapez varchar, la longueur est 30.

e-mail : e-mail, le type est varchar, la longueur est 30.

Utilisez ensuite les instructions SQL pour créer des tables de base de données. Le code est présenté ci-dessous :

<?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();
?>
Copier après la connexion

Nous avons créé la base de données et les tables ci-dessus, et maintenant nous allons créer une façade simple. -fin pour la page d'inscription du formulaire, la page du formulaire ici est très simple, avec quelques zones de texte simples telles que le nom d'utilisateur, le mot de passe, la confirmation du mot de passe, l'e-mail d'inscription, etc. Le code est le suivant :

<!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>
Copier après la connexion

Ensuite, vous devez utiliser le code PHP pour soumettre les informations soumises par le nouvel utilisateur à la base de données, et utiliser la méthode POST pour transférer et obtenir la valeur.

Tout d'abord, vous devez vous connecter à la base de données et à la table créées précédemment, car le nom d'utilisateur, le mot de passe et les autres informations enregistrées par le nouvel utilisateur doivent être enregistrés dans les champs correspondants de la table. Avant de stocker les données dans la table de base de données, effectuez quelques jugements et vérifications sur les données soumises. Par exemple, les noms d'utilisateur, les e-mails, etc. qui ne répondent pas aux exigences doivent être filtrés et des invites d'erreur sont également nécessaires. enregistré par d'autres utilisateurs, vous devez être informé que vous ne pourrez plus utiliser ce nom d'utilisateur, il s'agit d'abord de lire le nom d'utilisateur qui existe déjà dans la base de données, puis de porter un jugement.

Pour faire simple, les données soumises par le formulaire sont stockées dans la variable, puis le mot de passe et le code de vérification sont jugés après qu'ils soient tous deux corrects. , les informations utilisateur sont stockées dans La base de données extrait et imprime toutes les données de la table dans laquelle les informations utilisateur sont stockées dans la base de données.

Pour parler franchement, la seconde moitié de la phrase concerne le stockage et la récupération de données. Le code spécifique est le suivant :

<?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>";
 }
}
?>
Copier après la connexion

Les amis peuvent effectuer diverses opérations et tentatives par eux-mêmes. Une fois qu'ils seront compétents, ils auront une certaine compréhension approfondie des opérations de formulaire et de base de données, ce qui leur fournira. une base pour le développement futur.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal