PHP忽略/跳过表单

时间:2015-05-26 12:21:39

标签: php html forms

我正在创建一个HTML用户表单,在提交后,它会被发布到PHP页面,以便在屏幕上打印用户在表单字段中输入的内容。

我的问题: 使用我现有的PHP脚本,它会写一个空行,HTML字段中没有数据。如果用户将HTML字段留空,我希望结果跳过整行。这可能吗?

我有一个非常标准的形式。我用$ _POST。 我目前使用这个:

<?php if (!empty($_POST['fax'])) { 
echo "Fax&nbsp;"; echo $_POST['fax'];} ?><br> 

但它留下了一个空白。结果应该是完整的电子邮件签名。它看起来像这样

Lisa Simpson
CEO
Board of Directors

Tel.: 213123
Fax: 123123
Mobile: 123123

我希望如果用户没有传真号码并将其留空,则应该如下所示:

Lisa Simpson
CEO
Board of Directors

Tel.: 213123
Mobile: 123123

感谢您提前提供任何帮助。

6 个答案:

答案 0 :(得分:1)

检查$ _POST ['fax']变量的长度是否大于0,然后您将确定是否已设置。

 if (strlen($_POST['fax']) > 0) { 
    echo "Fax: " . $_POST['fax'];
 } 

答案 1 :(得分:0)

问题是条件之外的<br>标签ID,因此要么执行任何值<br>将执行并给出空行。试试这样: -

<?php if (!empty($_POST['fax'])) { 
echo "Fax&nbsp;"; echo $_POST['fax'].'<br>';} ?> 

注意: - 您需要为所有!empty条件执行此操作。谢谢。上面的代码仅在值存在时才给出新行,否则将不输出任何内容。

答案 2 :(得分:0)

我似乎发送了时间,导致空行。

哟可以使用:

来纠正它
<?php if (!empty($_POST['fax'])) { 
  echo "Fax&nbsp;"; echo $_POST['fax']."<br>";
 } ?> 

答案 3 :(得分:0)

在if语句中移动<br>标记

答案 4 :(得分:0)

Try This :-
<?php if (!empty($_POST['fax'])) { 
echo "<br> Fax&nbsp;"; echo $_POST['fax'];} ?>

答案 5 :(得分:0)

优雅的方式

// binding data
$template = [
    'key' => ['text', null]
    'kye2' => ['text', null],
];

foreach ($_POST as $key => $value)
    foreach ($template as $template_key => $template_value)
        if ($key == $template_key)
            $result[] = $template_value['1'] = $value;

//display data
foreach ($result as $field) echo $field['0'], ': ', $field['0'], '<br>';