国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > PHP > 正文

php如何把表單內容提交到數據庫

2024-05-05 00:10:09
字體:
來源:轉載
供稿:網友

一般朋友們逛一些網站的時候,想使用網站或者看到更多網站里的內容,網站會要求用戶進行新用戶的注冊,網站會把新用戶的注冊信息存入數據庫中,需要的時候再進行提取。

這樣網站就會首先創建自己的數據庫和對應的表,我們這里使用php創建一個簡單的數據庫和表,使用phpMyAdmin來創建MySql數據庫和表。例如創建一個test數據庫,其示例的代碼如下所示:

<?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 表,設置如下幾個字段。

  • id : 它是唯一的,類型為 int ,并選擇主鍵。
  • uesrname : 用戶名,類型為 varchar, 長度為30。
  • password : 密碼,類型為 varchar, 長度為30。
  • confirm:確認密碼,類型為 varchar, 長度為30。
  • email : 郵箱,類型為 varchar, 長度為30。

接著使用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方式進行值的傳遞和獲取。

首先需要連接前面創建完成的數據庫和表,因為新用戶注冊的用戶名,密碼等信息需要保存到表中的對應字段里面。存入數據庫表之前先對提交的數據進行一些判斷驗證,比如不符合要求的用戶名,郵箱等需要有過濾和錯誤的提示,還要防止用戶名如果被其他用戶注冊,則需要提示您將不能再使用這個用戶名,這是先讀取數據庫已經存在的用戶名,然后進行判斷。

簡單來說就是將表單提交的數據都存入變量,然后進行密碼和驗證碼的判斷,都正確以后,將用戶信息存入數據庫并將數據庫存放用戶信息的表中所有數據提取打印出來。說白了,后半句就是數據存入和提取。其具體的代碼如下所示:

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

朋友們可以自己動手進行各種操作和嘗試,熟練以后就會對表單操作,數據庫的操作有一定深入的理解,為以后的開發打下良好的基礎。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VeVb武林網。


注:相關教程知識閱讀請移步到PHP教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 宝兴县| 涪陵区| 乐平市| 宁陕县| 屏南县| 孝感市| 乌海市| 丹寨县| 连城县| 泸州市| 嵩明县| 龙陵县| 罗山县| 都昌县| 嘉义县| 临汾市| 新营市| 三门峡市| 漳平市| 加查县| 伊春市| 乐陵市| 沐川县| 库车县| 濉溪县| 米易县| 祁东县| 临沂市| 贺州市| 凤冈县| 诸暨市| 禄劝| 台北县| 沈丘县| 麦盖提县| 陆良县| 陆良县| 马关县| 长沙市| 德安县| 塘沽区|