Php 自动检索表单值

Php 自动检索表单值,php,mysql,Php,Mysql,有没有办法自动检索表单值,然后将这些值存储到MySQL中? 谢谢如果表格是 <form method="post"> <input type="text" name="your_name"/> </form> 魔术:) 现在是sql部分,首先我们对字符串进行转义以避免 然后我们插入数据库 $your_name = mysql_real_escape_string($your_name); // protect from sql injection mys

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

如果表格是

<form method="post">
  <input type="text" name="your_name"/>
</form>
魔术:) 现在是sql部分,首先我们对字符串进行转义以避免 然后我们插入数据库

$your_name = mysql_real_escape_string($your_name); // protect from sql injection
mysql_query("INSERT INTO table_name VALUES ($your_name) );

From值通过两种不同的方法传递给服务器(取决于表单的
方法
)。一些表单是
POST
,而其他表单是
GET
。使用“post”可以传输更多的数据,因为“get”会将这些值附加到URL本身

一旦将值发送到服务器(在提交表单时),您可以通过
$\u POST
访问这些值(如果已发布),如果通过“GET”发送,则可以通过
$\u GET
访问这些值。此外,您可以调用
$\u REQUEST
,该请求将包含数据,而不管数据是“post”还是“get”

如果您的表单有一个名为“firstname”的输入,并且是通过“post”提交的,您可以访问如下值:

echo $_POST["firstname"];
考虑到这一点,您可以运行
INSERT
(或
UPDATE
)查询,将此值放入数据库中。请看地图

请注意,这是一个非常基本的例子,你确实应该考虑一些数据对于直接进入来说不是理想的。您需要检查数据以确保它不包含非法字符或不适当的内容。清理您的数据也可以防止许多安全问题

请记住,当您允许人们的数据进入您的查询时,您是在允许公众编写您的查询(部分),这可能非常危险。

否。您需要:

  • 从$\u POST或$\u GET数组中捕获所需的值

  • 根据您的任何需求验证它

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


  • 您可能会发现一些框架在某种程度上实现了上述操作的自动化,但请记住,除了最简单的情况外,操作的验证和数据库部分都将定制。您不太可能找到一种完全自动化的方法来获取和存储数据。

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

    $first = $_GET['first'];
    $second = $_GET['second'];
    ---------------------
    ----------------------
    
    最多20 这让我很恼火


    假设我有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"] : "";
    }
    
    $formdata[]=”;
    
    对于($i=1;$i),您能详细说明一下吗?您的意思是在提交表单之后,还是希望在用户不提交表单的情况下发生这种情况?能否向我们展示您的表单html和数据库表结构?请澄清“表单值”的含义插入用户数据而不转义字符串是危险的。因为有人可以执行sql注入。@yossi更正。我在最后一段中记下了这一点。
    $first = $_GET['first'];
    $second = $_GET['second'];
    ---------------------
    ----------------------
    
    $formdata[] = "";
    for ($i=1;$i<=20;$i++)
    {
     $index_string = "var".$i;
     formdata["$index_string"] = (isset($_GET["$index_string"]) ? $_GET["$index_string"] : "";
    }