test.php页面
判断该页是否提交,如果提交了,就按照正常的接受数据来就行了。
<?phpif($_POST){
$words = $_POST["words"]
if ($words) {
echo "收到"
}
}
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<form action="test.php" method="post">
<input type="text" name="words">
<input type="submit" name="" value="提交">
</form>
</body>
</html>
1:首先要使用PHP的超全局变量 $_GET 和 $_POST 用于收集表单数据(form-data)2:然后使用INSERT INTO 语句用于向数据库表中插入新记录。
具体示例:
(1)首先创建了一个名为 "Persons" 的表,有三个列:"Firstname", "Lastname" 以及 "Age"。
<?php$con = mysql_connect("localhost","peter","abc123")if (!$con) { die('Could not connect: ' . mysql_error()) } mysql_select_db("my_db", $con)mysql_query("INSERT INTO Persons (FirstName, LastName, Age) VALUES ('Peter', 'Griffin', '35')")mysql_query("INSERT INTO Persons (FirstName, LastName, Age) VALUES ('Glenn', 'Quagmire', '33')")mysql_close($con)?>
(2)其次创建一个 HTML 表单,这个表单可把新记录插入 "Persons" 表。
<html><body><form action="insert.php" method="post">Firstname: <input type="text" name="firstname" />Lastname: <input type="text" name="lastname" />Age: <input type="text" name="age" /><input type="submit" /></form></body></html>
(3)接着当用户点击上例中 HTML 表单中的提交按钮时,表单数据被发送到 "insert.php"。"insert.php" 文件连接数据库,并通过 $_POST 变量从表单取回值。然后,mysql_query() 函数执行 INSERT INTO 语句,一条新的记录会添加到数据库表中。
<?php$con = mysql_connect("localhost","peter","abc123")if (!$con) { die('Could not connect: ' . mysql_error()) } mysql_select_db("my_db", $con)$sql="INSERT INTO Persons (FirstName, LastName, Age)VALUES('$_POST[firstname]','$_POST[lastname]','$_POST[age]')"if (!mysql_query($sql,$con)) { die('Error: ' . mysql_error()) }echo "1 record added"mysql_close($con)?>
表单令牌防止post表单重复提交。其原理是利用后端(脚本)语言生成一个加密的hash值,此值包含当前表单的一些识别信息和当前时间,然后将hash赋给表单的一个隐藏域。post提交页接收这个表单中的令牌hash字段信息,进行判断,这样来判断是否是重复提交。更多相关信息,请自行查找资料。