如果设置了值则回显,如果值为空则隐藏

时间:2017-05-11 13:03:27

标签: php

<?php
  if  (isset($firstname)) {
      echo ' is my first name';
  }
  else {
      echo ''; 
  }
  ?>
  if  (isset($secondname)) {
      echo ' is my second name';
  }
  else {
      echo ''; 
  }?>

我有两个字段(名字,第二个名字)的HTML表单,所以如果用户填写带有某个值的名字,它将显示如下:

myname - 是我的名字

如果他填两个,他就会得到

myname - 是我的名字 mysecond - 是我的第二个名字

如果他没有输入任何内容,则会隐藏(第一和第二)。

问题是,当我只通过表单输入一个字段时,两个字段都可见(一个填充,一个填充)。

如果其中一个没有价值,如何隐藏?

6 个答案:

答案 0 :(得分:0)

<?php
  if  (isset($firstname) && !empty($firstname)) {
      echo $firstname.' is my first name';
  }


  if  (isset($secondname) && !empty($secondname)) {
      echo $secondname.' is my second name';
  }
 ?>

答案 1 :(得分:0)

isset是你的问题。值为 set ,它恰好是空的。

您可能希望使用!empty代替isset

答案 2 :(得分:0)

只需使用:

$firstname = 'ravi';
if  (!empty($firstname)) {
      echo ' is my first name';
  }
  else {
      echo ''; 
  }

  $secondname = '';
  if  (!empty($secondname)) {
      echo ' is my second name';
  }
  else {
      echo ''; 
  }

答案 3 :(得分:0)

首先,有一个'?&gt;'在代码中间。这可能需要删除它。

第二,你的意思是你需要设置两个变量然后才能得到回声吗? 如果你的意思是那么你可以尝试这个

<?php
if  ($firstname!= '' && $secondname != '') {
  echo $firstname.' is my first name '.$secondname.' is my second name' ;
}
else {
    echo ''; 
}
}?>

答案 4 :(得分:0)

<?php

$firstname        = 'Michael';
$firstname_suffix = 'is my first name';
$lastname         = 'Roth';
$lastname_suffix  = 'is my second name';
$myname           = '';

$myname .= !empty($firstname) ? $firstname . ' ' . $firstname_suffix : '';
$spc     = !empty($firstname) ? ', ' : '';
$myname .= !empty($lastname) ? $spc . $lastname . ' ' . $lastname_suffix : '';
$myname .= !empty($myname) ? '.' : '';

echo $myname;
?>

如果设置了名字:

迈克尔是我的名字。

如果设置了第一个和第二个名称:

Michael是我的名字,Roth是我的第二个名字。

如果只设置了第二个名字:

罗斯是我的第二个名字。

答案 5 :(得分:-1)

所以我理解你的问题。当用户填写名字和名字并且条件不同于。时,你想要echo个名字。

以下是符合您所有条件的代码

 <html>
    <head>

    </head>
    <body>
        <form action="" method="post" >
            <p>Enter First name</p>

            <input type="text" name="firstname">
            <br>

            <p>Enter Second name</p>

            <input type="text" name="secondname">
            <br>

            <input type="submit" name="submit">
            <br>
        </form>

        <?php

            if(isset($_POST['submit'])){
                $firstname = $_POST['firstname'];
                $secondname = $_POST['secondname'];

                //NOW IF USER HAS FILL ALL INPUT FIELDS
                if(!empty($firstname) && !empty($secondname)){
                    echo "".$firstname."- is my first name ".$secondname." - is my second name";
                }
                //NOW IF BOTH FIELDS ARE EMPTY
                else if(empty($firstname) && empty($secondname)){
                    //DISPLAY NOTHING               
                }
                //NOW IF FIRST NAME IS FILLED AND SECONDNAME EMPTY
                else if(!empty($firstname) && empty($secondname)){
                    echo "".$firstname."- is my first name";
                }
                //NOW IF FIRST NAME IS EMPTY AND SECONDNAME FILLED
                else if(empty($firstname) && !empty($secondname)){
                    echo "".$secondname."- is my Second name";
                }
            }
        ?>
    </body>
</html>

如果你的任何问题都要得到自满的评论