自动检索表单值

时间:2010-12-30 18:02:59

标签: php mysql

有没有办法自动检索表单值,然后将这些值存储到MySQL中? 谢谢

5 个答案:

答案 0 :(得分:1)

没有。你需要:

  1. 从$ _POST或$ _GET数组中捕获所需的值。

  2. 根据您的要求进行验证。

  3. 使用预准备语句或mysql_real_escape_string等将其插入(或更新)数据库中的现有行,以防止SQL注入。

  4. 您可能会发现一些框架可以实现上述自动化,但请记住,操作的验证和数据库部分将在所有情况下进行自定义,但在最简单的情况下,您不太可能完全找到自动获取和存储数据的方法。

答案 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)

  

假设我有20个输入字段。(姓名,电话,最多20个)。在php文件中,我必须逐个手动地从表单中收集20个值.....

你可以做这样的事情。调用您的表单名称,例如var1,var2,var3 .... 然后这样做

$formdata[] = "";
for ($i=1;$i<=20;$i++)
{
 $index_string = "var".$i;
 formdata["$index_string"] = (isset($_GET["$index_string"]) ? $_GET["$index_string"] : "";
}