Heim  >  Artikel  >  Backend-Entwicklung  >  Wie übermittle ich ein PHP-Formular an die Datenbank? (ausführliche Erklärung)

Wie übermittle ich ein PHP-Formular an die Datenbank? (ausführliche Erklärung)

伊谢尔伦
伊谢尔伦Original
2017-04-22 14:03:1922502Durchsuche

Um Daten an die serverseitige Datenbank zu übermitteln, wird das Formularformular verwendet. Dies ist die gebräuchlichste und einfachste Möglichkeit, Daten zu übermitteln. Nach dem Ausfüllen des Formulars wird der Beitrag an die .php-Hintergrunddatei übermittelt. Es kehrt zur angegebenen Seite zurück. Schließlich wird die Seite erneut aktualisiert und zeigt die erwartete Seite an. Der folgende Artikel gibt Ihnen anhand von Beispielen eine detaillierte Erläuterung der Übermittlung von PHP-Formularen an die Datenbank.

Wie übermittle ich ein PHP-Formular an die Datenbank? (ausführliche Erklärung)

Wenn Freunde einige Websites besuchen und die Website nutzen oder mehr Inhalte auf der Website sehen möchten, fordert die Website den Benutzer im Allgemeinen auf, sich als neuer Benutzer zu registrieren Website wird Die Registrierungsinformationen neuer Benutzer werden in der Datenbank gespeichert und bei Bedarf abgerufen.

Auf diese Weise erstellt die Website zunächst eine eigene Datenbank und entsprechende Tabellen. Hier verwenden wir php, um eine einfache Datenbank und Tabelle zu erstellen, und verwenden phpMyAdmin, um das MySql zu erstellen Datenbank und Tabelle. Erstellen Sie beispielsweise eine Testdatenbank:

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

Erstellen Sie dann mit der CREATE TABLE-Anweisung eine MySQL-Tabelle und legen Sie die folgenden Felder fest.

id: Es ist eindeutig, vom Typ int und wählt den Primärschlüssel aus.

uesrname: Benutzername, Typ ist Varchar, Länge ist 30.

Passwort: Passwort, Typ ist Varchar, Länge ist 30.

bestätigen: Passwort bestätigen, Typ ist Varchar, Länge ist 30.

E-Mail: E-Mail, Typ ist Varchar, Länge ist 30.

Verwenden Sie dann SQL-Anweisungen, um Datenbanktabellen zu erstellen. Der Code wird unten angezeigt:

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

Wir haben die Datenbank und die Tabellen oben erstellt und erstellen jetzt eine einfache Front -Ende für die Formularregistrierungsseite. Die Formularseite hier ist sehr einfach und enthält einige einfache Textfelder wie Benutzername, Passwort, Passwortbestätigung, Registrierungs-E-Mail usw. Der Code lautet wie folgt:

<!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>

Als Nächstes müssen Sie PHP-Code verwenden, um die vom neuen Benutzer übermittelten Informationen an die Datenbank zu senden, und die POST-Methode verwenden, um den Wert zu übertragen und abzurufen.

Zuerst müssen Sie eine Verbindung zur zuvor erstellten Datenbank und Tabelle herstellen, da der Benutzername, das Passwort und andere vom neuen Benutzer registrierte Informationen in den entsprechenden Feldern der Tabelle gespeichert werden müssen. Bevor Sie die Daten in der Datenbanktabelle speichern, müssen Sie einige Beurteilungen und Überprüfungen der übermittelten Daten vornehmen. Beispielsweise müssen Benutzernamen und E-Mails gefiltert werden, die die Anforderungen nicht erfüllen. Außerdem sind Fehlermeldungen erforderlich Von anderen Benutzern müssen Sie darauf hingewiesen werden, dass Sie dies nicht tun können. Um diesen Benutzernamen erneut zu verwenden, müssen Sie zunächst den Benutzernamen lesen, der bereits in der Datenbank vorhanden ist, und dann ein Urteil fällen.

Um es einfach auszudrücken: Die über das Formular übermittelten Daten werden in der Variable gespeichert und dann werden das Passwort und der Bestätigungscode beurteilt, nachdem sie beide korrekt sind , die Benutzerinformationen werden in der Datenbank gespeichert. Die Datenbank extrahiert und druckt alle Daten in der Tabelle aus, in der die Benutzerinformationen in der Datenbank gespeichert sind.

Um es ganz klar auszudrücken: In der zweiten Hälfte des Satzes geht es um das Speichern und Abrufen von Daten. Der spezifische Code lautet wie folgt:

<?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>";
 }
}
?>

Freunde können verschiedene Vorgänge und Versuche selbst durchführen. Sobald sie kompetent sind, verfügen sie über ein gewisses tiefgreifendes Verständnis für Formularoperationen und Datenbankoperationen eine Basis für die zukünftige Entwicklung legen.

Das obige ist der detaillierte Inhalt vonWie übermittle ich ein PHP-Formular an die Datenbank? (ausführliche Erklärung). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn