溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

php數(shù)據(jù)庫獲取表單數(shù)據(jù)的方法

發(fā)布時間:2020-08-19 14:35:36 來源:億速云 閱讀:180 作者:小新 欄目:編程語言

php數(shù)據(jù)庫獲取表單數(shù)據(jù)的方法?這個問題可能是我們?nèi)粘W(xué)習(xí)或工作經(jīng)常見到的。希望通過這個問題能讓你收獲頗深。下面是小編給大家?guī)淼膮⒖純?nèi)容,讓我們一起來看看吧!

php數(shù)據(jù)庫獲取表單內(nèi)容:

示例:

<?php
// 創(chuàng)建連接
$conn = new mysqli("localhost", "uesename", "password");
// 檢測連接
if ($conn->connect_error)
{ 
 die("連接失敗: " . $conn->connect_error);}
 // 創(chuàng)建數(shù)據(jù)庫
 $sql = "CREATE DATABASE test";
  if ($conn->query($sql) === TRUE)
  { 
  echo "數(shù)據(jù)庫創(chuàng)建成功";
  } else { 
  echo "Error creating database: " . $conn->error;
  }
 $conn->close();
?>

然后使用CREATE TABLE 語句用于創(chuàng)建 MySQL 表,設(shè)置如下幾個字段。

  • id : 它是唯一的,類型為 int ,并選擇主鍵。

  • uesrname : 用戶名,類型為 varchar, 長度為30。

  • password : 密碼,類型為 varchar, 長度為30。

  • confirm:確認密碼,類型為 varchar, 長度為30。

  • email : 郵箱,類型為 varchar, 長度為30。

接著使用sql語句來創(chuàng)建數(shù)據(jù)庫表,其代碼顯示如下:

<?php
 // 創(chuàng)建連接
 $conn = new mysqli("localhost", "uesename", "password","test");
 // 檢測連接
 if ($conn->connect_error)
 { 
 die("連接失敗: " . $conn->connect_error);
 }
 // 使用 sql 創(chuàng)建數(shù)據(jù)表
 $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 "創(chuàng)建數(shù)據(jù)表錯誤: " . $conn->error;
 }
 $conn->close();
?>

上面我們創(chuàng)建好了數(shù)據(jù)庫和表,下面建立一個簡單的表單注冊的前端頁面,這里的表單頁面很簡單,用戶名,密碼,密碼確認,注冊郵箱等等幾個簡單的文本框。其代碼如下:

<!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代碼來實現(xiàn)新用戶提交的信息給提交到數(shù)據(jù)庫,使用POST方式進行值的傳遞和獲取。

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

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

<?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')";
 //插入數(shù)據(jù)庫
 if(!(mysqli_query($link,$sql))){
 echo "<script>alert('數(shù)據(jù)插入失敗');window.location.href='zhuce.html'</script>";
 }else{
 echo "<script>alert('注冊成功!)</script>";
 }
}
?>

感謝各位的閱讀!看完上述內(nèi)容,你們對php數(shù)據(jù)庫獲取表單數(shù)據(jù)的方法大概了解了嗎?希望文章內(nèi)容對大家有所幫助。如果想了解更多相關(guān)文章內(nèi)容,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI