【问题标题】:Losing data from select when POST formPOST 表单时从选择中丢失数据
【发布时间】:2023-03-29 10:41:01
【问题描述】:

当我使用表单发布数据时,我会丢失此部分联系人姓名空格后的所有数据:

<option value=<?php echo $row_i['naam'].'|'.$row_i['mail']; ?>><?php echo htmlentities($row_i['naam']).' '.$row_i['mail']; ?></option>;

这是完整的代码:

<td><select name="email[]">
<option value=""></option>

<?php if($leverancier_mail != '')
{ ?>
    <option <?php if($leverancier_mail == $email[$i]) echo 'selected="selected"'; ?> value="<?php echo $leverancier.'|'.$leverancier_mail; ?>"><?php echo htmlentities($leverancier).' '.$leverancier_mail; ?></option>;
<?php }

if($leverancier_fax != '')
{ ?>
    <option <?php if($leverancier_fax == $email[$i]) echo 'selected="selected"'; ?> value="<?php echo $leverancier.'|'.$leverancier_fax; ?>"><?php echo htmlentities($leverancier).' '.$leverancier_fax; ?></option>;
<?php }

        $sql_i = "SELECT id, naam, mail, fax FROM contactpersoon WHERE klant_id = '".$leverancier_id."' ORDER BY naam ASC ";
        $res_i = mysql_query($sql_i,$con);  
        while ($row_i = mysql_fetch_assoc($res_i))
        {                       
    if($row_i['mail'] != '')    
    { ?>
        <option <?php if($row_i['id'] == $email[$i]){ echo 'selected="selected"'; } ?> value=<?php echo $row_i['naam'].'|'.$row_i['mail']; ?>><?php echo htmlentities($row_i['naam']).' '.$row_i['mail']; ?></option>;
    <?php }

    if($row_i['fax'] != '')
    { ?>
        <option <?php if($row_i['id'] == $fax[$i]){ echo 'selected="selected"'; } ?> value=<?php echo $row_i['naam'].'|'.$row_i['fax']; ?>><?php echo htmlentities($row_i['naam']).' '.$row_i['fax']; ?></option>;
    <?php }

    } ?></select>
    <?php if($error_email == 'ja'){ $error_omschr = $error_omschr_email; include('includes/input_error.php'); } ?>
</td>

我用它来发送表格:

if($_SERVER['REQUEST_METHOD'] == 'POST')
    {
        $id = trim(mysql_real_escape_string($_POST['id']));
        $leverancier_id = trim(mysql_real_escape_string($_POST['leverancier_id']));
        $leverancier = trim(mysql_real_escape_string($_POST['leverancier']));
        $leverancier_mail = trim(mysql_real_escape_string($_POST['leverancier_mail']));
        $leverancier_fax = trim(mysql_real_escape_string($_POST['leverancier_fax']));
        $aanvr_nr = trim(mysql_real_escape_string($_POST['aanvr_nr']));

        for ($i=0; $i <= 3; $i++)
        {
            $soort[$i] = trim(mysql_real_escape_string($_POST['soort'][$i]));
            $email[$i] = trim(mysql_real_escape_string($_POST['email'][$i]));

            $email_split[$i] = explode('|', $email[$i]);
        }
}

【问题讨论】:

  • 甚至最糟糕的代码量,请更精确...
  • 为什么 ;&lt;/option&gt; 之后,而那是纯 HTML 代码

标签: php forms


【解决方案1】:

我已将 " 添加到选项值。经过一天的尝试,这成功了。

【讨论】:

  • 你可以把这个写成评论,这不是你问题的答案
猜你喜欢
  • 2011-08-29
  • 1970-01-01
  • 1970-01-01
  • 2014-02-15
  • 1970-01-01
  • 1970-01-01
  • 2021-06-30
  • 2020-01-30
  • 2014-08-31
相关资源
最近更新 更多