Php 在网页中命名表单字段

Php 在网页中命名表单字段,php,forms,view,naming,field,Php,Forms,View,Naming,Field,如何在网页中命名字段名而不显示数据库表的结构?如果您认为这是一个问题,我假设您可以重命名输入字段名。无论如何,您需要在某个时刻将它们链接到正确的SQL列 这将是默默无闻的安全 不过,在应用程序中小心处理输入(避免SQL注入)听起来更明智。只需在HTML中为它们命名,并在PHP代码中手动映射数据库字段名和HTML字段名 但实际上,如果您正在使用并执行正确的授权和错误检查,那么人们是否知道表字段名称并不重要。如果这确实是您关心的问题,那么只需使用field1、field2(或f1、f2)并将它们映射

如何在网页中命名字段名而不显示数据库表的结构?

如果您认为这是一个问题,我假设您可以重命名输入字段名。无论如何,您需要在某个时刻将它们链接到正确的SQL列

这将是默默无闻的安全


不过,在应用程序中小心处理输入(避免SQL注入)听起来更明智。

只需在HTML中为它们命名,并在PHP代码中手动映射数据库字段名和HTML字段名


但实际上,如果您正在使用并执行正确的授权和错误检查,那么人们是否知道表字段名称并不重要。

如果这确实是您关心的问题,那么只需使用field1、field2(或f1、f2)并将它们映射到您的实验手册中的数据库字段即可。但是,除非您是从HTML代码中调用数据库,否则仅通过查看带有字段名的表单而不是不带字段名的表单,就无法了解数据库结构本身。

我通常会添加前缀和后缀以方便清理/处理

例如,如果一个字段必须只包含字母,而不包含其他内容,我会将其命名为
tx\u field\u name
,否则if可以包含过滤的html、
hf\u field\u name
或完整的html
hx\u field\u name
。。。获取表单的脚本知道如何清理和检查前缀底部的值

但是,如果您的意思是明确地隐藏数据库的列名,那么,给它您想要的名称,
foo
bar
,或者添加随机后缀,甚至用
-
替换
-
(这在html字段名中允许,但在数据库列名中不允许)

p、 s:我希望你不要使用像这样的代码

$values = $_POST;
$n_val = count($values);
$i = 0;
foreach($values AS $key => $value){
    $pairs .= " `$key` = '$value' ";
    if($n_val > $i){
        $pairs .= ', ';
    }
}
thedbyouprefer_query("UPDATE table SET $pairs WHERE id = '42'");

处理表单,但使用php映射表单(…和一些准备好的语句不会有问题)

这是一个很好的问题。=)