提交數據到服務器端數據庫都是用的form表單,這是最普通最簡單提交數據的方法,填寫完表單后,post提交到后台.php文件,處理完后返回到指定頁面,最后,頁面就重新刷新了一遍,顯示預想的頁面。 下面本篇文章就來通過示例來給大家詳解一下php表單提交到數據庫。大理石平台價格表

一般朋友們逛一些網站的時候,想使用網站或者看到更多網站里的內容,網站會要求用戶進行新用戶的注冊,網站會把新用戶的注冊信息存入數據庫中,需要的時候再進行提取。
這樣網站就會首先創建自己的數據庫和對應的表,我們這里使用php創建一個簡單的數據庫和表,使用phpMyAdmin來創建MySql數據庫和表。例如創建一個test數據庫,其示例的代碼如下所示:
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
<?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語句來創建數據庫表,其代碼顯示如下:
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
<?php
$conn = new mysqli("localhost", "uesename", "password","test");
if ($conn->connect_error)
{
die("連接失敗: " . $conn->connect_error);
}
$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();
?>
|
上面我們創建好了數據庫和表,下面建立一個簡單的表單注冊的前端頁面,這里的表單頁面很簡單,用戶名,密碼,密碼確認,注冊郵箱等等幾個簡單的文本框。其代碼如下:
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 |
<!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方式進行值的傳遞和獲取。
首先需要連接前面創建完成的數據庫和表,因為新用戶注冊的用戶名,密碼等信息需要保存到表中的對應字段里面。存入數據庫表之前先對提交的數據進行一些判斷驗證,比如不符合要求的用戶名,郵箱等需要有過濾和錯誤的提示,還要防止用戶名如果被其他用戶注冊,則需要提示您將不能再使用這個用戶名,這是先讀取數據庫已經存在的用戶名,然后進行判斷。
簡單來說就是將表單提交的數據都存入變量,然后進行密碼和驗證碼的判斷,都正確以后,將用戶信息存入數據庫並將數據庫存放用戶信息的表中所有數據提取打印出來。
說白了,后半句就是數據存入和提取。其具體的代碼如下所示:
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
<?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')";
if(!(mysqli_query($link,$sql))){
echo "<script>alert('數據插入失敗');window.location.href='zhuce.html'</script>";
}else{
echo "<script>alert('注冊成功!)</script>";
}
}
?>
|
朋友們可以自己動手進行各種操作和嘗試,熟練以后就會對表單操作,數據庫的操作有一定深入的理解,為以后的開發打下良好的基礎。