PHP表单字段和数据库无存储存在问题

PHP表单字段和数据库无存储存在问题,php,forms,Php,Forms,我正在学习php语言,根据填充php表单字段和数据存储,我遇到了一个问题 第一部分:表单字段 我无法显示表单,但无法在字段中写入数据(除了出生日期和付款) 也许我的语法不好,但我不明白为什么我不能填充我的字段 根据我的表格,这是我脚本的一部分: // Get parameters $id = GETPOST('id', 'int'); $ref = GETPOST('ref', 'alpha'); $action = GETPOST('action', 'a

我正在学习php语言,根据填充php表单字段和数据存储,我遇到了一个问题

第一部分:表单字段

我无法显示表单,但无法在字段中写入数据(除了
出生日期
付款

也许我的语法不好,但我不明白为什么我不能填充我的字段

根据我的表格,这是我脚本的一部分:

// Get parameters
$id         = GETPOST('id', 'int');
$ref        = GETPOST('ref', 'alpha');
$action     = GETPOST('action', 'alpha');
$cancel     = GETPOST('cancel', 'aZ09');
$backtopage = GETPOST('backtopage', 'alpha');

// Initialize technical objects
$object=new MyObject($db);

// If create a request
if ($action == 'create')
{
        $object = new FormFile($db);

        $db->begin();

            $nom = GETPOST('nom');
            $prenom = GETPOST('prenom');
            $datenaissance = dol_mktime(0, 0, 0, GETPOST('datenaissance_month'), GETPOST('datenaissance_day'), GETPOST('datenaissance_year'));
            $adresse=GETPOST('adresse');
            $codepostal=GETPOST('codepostal');
                $pays=GETPOST('pays');

        // If no name
            if (empty($nom))
            {
                setEventMessages($langs->trans("Pas de nom"), null, 'errors');
                $error++;
                $action='create';
            }

        // If no firstname
            if (empty($prenom))
            {
                setEventMessages($langs->trans("Pas de prénom"), null, 'errors');
                $error++;
                $action='create';
            }

        // If no birthday
            if (empty($datenaissance))
            {
                setEventMessages($langs->trans("Pas de date de naissance"), null, 'errors');
                $error++;
                $action='create';
            }

        // If no address
            if (empty($adresse))
            {
                setEventMessages($langs->trans("Pas d'adresse"), null, 'errors');
                $error++;
                $action='create';
            }

        // If no code postal
            if (empty($codepostal))
            {
                setEventMessages($langs->trans("Pas de code postal"), null, 'errors');
                $error++;
                $action='create';
            }

            $result = 0;

            if (! $error)
            {
                $object->nom = $nom;
                $object->prenom = $prenom;
                $object->datenaissance = $datenaissance;
                $object->adresse = $adresse;
                $object->codepostal = $codepostal;
                    $object->pays = $pays;
                    $result = $object->create($user);
             if ($result <= 0)
                {
                        setEventMessages($object->errors, 'errors');
                        $error++;
                }
            }

// If no SQL error we redirect to the request card
            if (! $error)
            {
                $db->commit();

                header('Location: '.$_SERVER["PHP_SELF"].'?id='.$object->id);
                exit;
            }
            else
                {
                $db->rollback();
            }
}


/*
 * View
 *
 * Put here all code to build page
 */

$form=new Form($db);
$formfile=new FormFile($db);
llxHeader('', $langs->trans('Formulaire de test'));

// Part to create
if ($action == 'create')
{
    // Formulaire de demande de congés payés
        print load_fiche_titre($langs->trans('Formulaire de test'), '', 'title_hrm.png');

    // Formulaire de demande
        print '<form method="POST" action="'.$_SERVER['PHP_SELF'].'" onsubmit="return valider()" name="Formulaire de test">'."\n";
        print '<input type="hidden" name="action" value="create" />'."\n";

        dol_fiche_head();

        print '<table class="border" width="100%">';
        print '<tbody>';

    // Nom
        print '<tr>';
        print '<td class="fieldrequired">'.$langs->trans("Nom").'</td>';
        print '<td>';
        print '<input type="hidden" name="nom" value="'.$object->nom.'">';
        print '</td></tr>';

    // Prenom
        print '<tr>';
        print '<td class="fieldrequired">'.$langs->trans("Prenom").'</td>';
        print '<td>';
        print '<input type="hidden" name="prenom" value="'.$object->prenom.'">';
        print '</td></tr>';

    // Date Naissance
        print '<tr>';
        print '<td class="fieldrequired">'.$langs->trans("Date de Naissance").'</td>';
        print '</td>';
        print '<td>';
        if (! GETPOST('datenaissance')) {
            $form->select_date(-1, 'datenaissance', 0, 0, 0, '', 1, 1);
        } else {
            $tmpdate = dol_mktime(0, 0, 0, GETPOST('datenaissance_month'), GETPOST('datenaissance_day'), GETPOST('datenaissance_year'));
            $form->select_date($tmpdate, 'datenaissance', 0, 0, 0, '', 1, 1);
        }
        print '</td>';
        print '</tr>';

    // Adresse
        print '<tr>';
        print '<td class="fieldrequired">'.$langs->trans("Adresse").'</td>';
        print '<td>';
        print '<input type="hidden" name="adresse" value="'.$object->adresse.'">';
        print '</td></tr>';

    // Code Postal
        print '<tr>';
        print '<td class="fieldrequired">'.$langs->trans("Code Postal").'</td>';
        print '<td>';
        print '<input type="hidden" name="codepostal" value="'.$object->codepostal.'">';
        print '</td></tr>';

    // Country
        print '<tr><td>'.fieldLabel('Pays','selectcountry_id').'</td><td class="maxwidthonsmartphone">';
        print $form->select_country((GETPOST('country_id')!=''?GETPOST('country_id'):$object->pays));
        if ($user->admin) print info_admin($langs->trans("YouCanChangeValuesForThisListFromDictionarySetup"),1);
        print '</td></tr>';

        print '</tbody>';
        print '</table>';

        dol_fiche_end();

        print '<div class="center">';
        print '<input type="submit" value="'.$langs->trans("Valider le formulaire").'" name="bouton" class="button">';
        print '&nbsp; &nbsp; ';
        print '<input type="button" value="'.$langs->trans("Cancel").'" class="button" onclick="history.go(-1)">';
        print '</div>';

        print '</form>'."\n";
}
// End of page
llxFooter();
$db->close();
//获取参数
$id=GETPOST('id','int');
$ref=GETPOST('ref','alpha');
$action=GETPOST('action','alpha');
$cancel=GETPOST('cancel','aZ09');
$backtopage=GETPOST('backtopage','alpha');
//初始化技术对象
$object=新的MyObject($db);
//如果创建一个请求
如果($action==“create”)
{
$object=newformfile($db);
$db->begin();
$nom=GETPOST('nom');
$prenom=GETPOST('prenom');
$datenaissance=dol_mktime(0,0,0,GETPOST('datenaissance'u month')、GETPOST('datenaissance'day')、GETPOST('datenaissance'year');
$ADRESE=GETPOST(“ADRESE”);
$codepostal=GETPOST('codepostal');
$pays=GETPOST('pays');
//如果没有名字
如果(空($nom))
{
setEventMessages($langs->trans(“名称”),null,“errors”);
$error++;
$action='create';
}
//如果没有名字
if(空($prenom))
{
setEventMessages($langs->trans(“Pas de prénom”),null,“errors”);
$error++;
$action='create';
}
//如果没有生日
如果(空($datenaissance))
{
setEventMessages($langs->trans(“出生日期”),null,“errors”);
$error++;
$action='create';
}
//如果没有地址
如果(空($ADRESE))
{
setEventMessages($langs->trans(“Pas d'address”),null,“errors”);
$error++;
$action='create';
}
//如果没有邮政编码
如果(空($codepostal))
{
setEventMessages($langs->trans(“邮政编码”),null,“errors”);
$error++;
$action='create';
}
$result=0;
如果(!$error)
{
$object->nom=$nom;
$object->prenom=$prenom;
$object->datenaissance=$datenaissance;
$object->adrese=$adrese;
$object->codepostal=$codepostal;
$object->pays=$pays;
$result=$object->create($user);
如果($result errors,'errors');
$error++;
}
}
//如果没有SQL错误,我们将重定向到请求卡
如果(!$error)
{
$db->commit();
标题('Location:'.$\u SERVER[“PHP\u SELF”]。?id='.$object->id);
出口
}
其他的
{
$db->rollback();
}
}
/*
*看法
*
*将所有代码放在这里以生成页面
*/
$form=新表格($db);
$formfile=新的formfile($db);
llxHeader(“”,$langs->trans('Formulaire de test'));
//要创建的部分
如果($action==“create”)
{
//企业薪酬需求公式
打印加载标题($langs->trans('Formulaire de test'),'',title_hrm.png');
//需求公式
打印“”。“\n”;
打印“”。“\n”;
多尔菲切头();
打印“”;
打印“”;
//名字
打印“”;
打印“.$langs->trans(“Nom”)”;
打印“”;
打印“”;
打印“”;
//普雷诺姆
打印“”;
打印“..langs->trans(“Prenom”)”;
打印“”;
打印“”;
打印“”;
//出生日期
打印“”;
打印“.$langs->trans(“出生日期”)”;
打印“”;
打印“”;
如果(!GETPOST('datenaissance')){
$form->select_date(-1,'datenaissance',0,0,0',,1,1);
}否则{
$tmpdate=dol_mktime(0,0,0,GETPOST('datenaissance'u month')、GETPOST('datenaissance'day')、GETPOST('datenaissance'year');
$form->select_date($tmpdate,'datenaissance',0,0,0',,1,1);
}
打印“”;
打印“”;
//阿迪斯
打印“”;
打印“.$langs->trans(“ADRESE”)”;
打印“”;
打印“”;
打印“”;
//邮政编码
打印“”;
打印“.$langs->trans(“邮政编码”)”;
打印“”;
打印“”;
打印“”;
//国家
打印“”。字段标签('Pays','selectcountry_id');
打印$form->select_country((GETPOST('country_id')!=''?GETPOST('country_id'):$object->pays));
如果($user->admin)打印信息\u admin($langs->trans(“您可以更改DistristFromDictionarySetup的值”),1);
打印“”;
打印“”;
打印“”;
dol_fiche_end();
打印“”;
打印“”;
打印“”;
打印“”;
打印“”;
打印“”。“\n”;
}
//页尾
llxFooter();
$db->close();
为了填充每个字段,此语法是否良好

print '<input type="hidden" name="myfieldname" value="'.$object->field.'">';
打印“”;
如您所见,字段不能填充(除了
出生日期
付款

第二部分:

当我点击
submit
按钮时,我无法将数据保存到数据库中。我一直在我的表单页面上看到这个问题

编辑:


我认为问题出在
type=“hidden”
?如果我写
文本
它似乎可以工作

隐藏的字段不应该由用户填写:

“hidden”类型的元素允许web开发人员包含看不见或看不见的数据