Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/239.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将php if语句添加到表单中_Php_Mysql - Fatal编程技术网

如何将php if语句添加到表单中

如何将php if语句添加到表单中,php,mysql,Php,Mysql,我有一个更新表单,用户可以在其中更新他们的信息,但是如果其中的一些信息已经有了值,就不能更新 据我所知,您必须将php代码放在表单标记之外,那么表单如何知道数据库字段是否有值?下面这个行吗?我猜不行 <form> <?php if (empty($user_data['fieldName'])) { echo '<label>field name</label> <input type="text" name="fi

我有一个更新表单,用户可以在其中更新他们的信息,但是如果其中的一些信息已经有了值,就不能更新

据我所知,您必须将php代码放在表单标记之外,那么表单如何知道数据库字段是否有值?下面这个行吗?我猜不行

<form>
<?php    
if (empty($user_data['fieldName'])) {
      echo '<label>field name</label>
      <input type="text" name="fieldName">';
      }
?>
</form>


有人知道怎么解决这个问题吗?或者,在更新区域中显示字段之前,我应该如何检查?

当然可以这样做,但如果不存在更新,也应该在服务器上检查

另外,最具可读性的方法是使用类似这样的替代php语法

<form>
  <?php if (empty($user_data['fieldName'])): ?>
      <label>field name</label>
      <input type="text" name="fieldName">
  <?php endif; ?>
</form>

字段名
这样,您就可以看到html代码的颜色

看这个链接,, 该文档用于codeigniter,但适用于干净的php


很抱歉我的英语不好:)

如评论中所述,您可以将PHP放在
*.PHP
文件中的任何位置,只要它包含在正确的开始和结束标记中

也就是说,这是一个双向的过程:

在表格中,我建议只禁用输入,因此显示数据,但不可修改:

<form>
<label>field name</label>
      <input type="text" value="<?php echo addslashes($user_data['fieldName']) ?>" name="fieldName" <?php if(!empty($user_data['fieldName'])) { echo 'disabled="disabled"; } ?> />
</form>
<?php /* Off the top of my head I can not remember how exactly to escape this
form value, it may be `htmlspecialchars`, but it eludes me in the immediate
moment.  Sorry. */ ?>

这样可以避免人们修改客户机上的表单结构,从而将数据伪造到系统中。您应该始终执行类似的检查。

这部分代码是正确的,在数组$user\u data中分配用户数据时可能会出现问题

另一种方法是简单地禁用输入文本,这样您就可以向用户显示信息,而不让用户更改信息

 <form>
    <?php 
       $disabled = "";
       if (empty($user_data['fieldName'])) {
           $disabled = 'disabled="disabled"'
       } ?>
           <label>field name</label>
           <input type="text" name="fieldName" <?php echo $disabled; ?>/>
 </form>

字段名

您应该有一个演示代码,如下所示:

<form>
    <label>field name</label>
    <input type="text" name="fieldName" <?=!empty($user_data['fieldName'])?'disabled="disabled"':''?>>
</form>

字段名

你可以把php代码放在任何地方。只要它是封闭的开始/结束标签!!如果您希望它是不可更改的,您应该在服务器端这样限制它。这是最安全的方法。之后,你可以简单地让表单显示一个禁用的字段。简单的教程做一些阅读,这样你就有了如何编写网页代码并将PHP脚本与之结合的基本想法。我不确定我是否同意这个答案,以满足OPs问题。有时不包括表单字段是可取的,例如,如果您正在为同一表单编写两个视图:一个用于管理员,另一个用于用户。我宁愿他们甚至看不到管理员用户数据。
<form>
    <label>field name</label>
    <input type="text" name="fieldName" <?=!empty($user_data['fieldName'])?'disabled="disabled"':''?>>
</form>