有没有办法自动检索表单值,然后将这些值存储到MySQL中? 谢谢
答案 0 :(得分:1)
没有。你需要:
从$ _POST或$ _GET数组中捕获所需的值。
根据您的要求进行验证。
使用预准备语句或mysql_real_escape_string等将其插入(或更新)数据库中的现有行,以防止SQL注入。
您可能会发现一些框架可以实现上述自动化,但请记住,操作的验证和数据库部分将在所有情况下进行自定义,但在最简单的情况下,您不太可能完全找到自动获取和存储数据的方法。
答案 1 :(得分:0)
是的,如果表格是
<form method="post">
<input type="text" name="your_name"/>
</form>
然后你编写这段代码,它会自动检索值
$your_name = isset($_POST['your_name']) ? $_POST['your_name'] : "";
魔术:) 现在是sql部分,首先我们转义字符串以避免sql injection attack 然后我们插入数据库。
$your_name = mysql_real_escape_string($your_name); // protect from sql injection
mysql_query("INSERT INTO table_name VALUES ($your_name) );
答案 2 :(得分:0)
从值通过几种不同的方法传递给服务器(取决于表单的method
)。某些表单为POST
,而其他表单为GET
。使用“post”可以传输更多数据,因为“get”会将值附加到URL本身。
将值发送到服务器后(表单提交时),如果已发布,则可以通过$_POST
访问它们;如果是通过“get”发送,则可以$_GET
访问它们。此外,您可以致电$_REQUEST
,其中包括数据,无论是“发布”还是“获取”。
如果您的表单的输入名称为“firstname”且通过“post”提交,则可以访问以下值:
echo $_POST["firstname"];
考虑到这一点,您可以运行INSERT
(或UPDATE
)查询以将此值放入数据库中。请参阅MySQL book on PHP.net。
// Assuming you have an open connection to MySQL
mysql_query( "INSERT INTO tbl1(field1) values('".$_POST["firstname"]."')" );
请注意,这是一个非常基本的例子,你真的应该考虑一些数据不适合直接输入的事实。您需要检查数据以确保其不包含非法字符或不适当的内容。清理数据也可以防止出现很多安全问题。
请记住,当您允许人们的数据进入您的查询时,您允许公众编写您的查询(部分),这可能非常危险。
答案 3 :(得分:0)
假设我有20个输入字段。(姓名,电话,最多20个)。在php文件中,我必须逐个手动地从表单中收集20个值,如
$first = $_GET['first'];
$second = $_GET['second'];
---------------------
----------------------
最多20个 它很讨厌我。
答案 4 :(得分:0)
你可以做这样的事情。调用您的表单名称,例如var1,var2,var3 .... 然后这样做假设我有20个输入字段。(姓名,电话,最多20个)。在php文件中,我必须逐个手动地从表单中收集20个值.....
$formdata[] = "";
for ($i=1;$i<=20;$i++)
{
$index_string = "var".$i;
formdata["$index_string"] = (isset($_GET["$index_string"]) ? $_GET["$index_string"] : "";
}