如果满足$ get条件,则仅回显html

时间:2012-07-18 23:49:03

标签: php html

我正在重定向标题中的各种消息并将它们回显到新页面。如何更改此选项,以便仅在有消息变量回显时才会显示html。即,如果符合$_GET条件之一?感谢

$message="";

if(isset($_GET['pw']))
{
  $message = "first message";
}
else if(isset($_GET['em']))
{
  $message = "second message";
}
else if(isset($_GET['fn']))
{
  $message = "third message";
}
else if(isset($_GET['ln']))
{
  $message = "forth message";
}
    ?>
<html>
     <body>
         <table class='tab2'>
             <td class='td2'><?php echo $message; ?></td>
         </table>
     </body>
<html>

5 个答案:

答案 0 :(得分:2)

<?php
   if($message)
   {
?>

   <html>
   ....

   </html>

<?php
   }
?>

答案 1 :(得分:1)

您可以使用:

<?php
$message="";

if(isset($_GET['pw']) && !empty($_GET['pw']))
{
  $message = "first message";
}
else if(isset($_GET['em']) && !empty($_GET['em']))
{
  $message = "second message";
}
else if(isset($_GET['fn']) && !empty($_GET['fn']))
{
  $message = "third message";
}
else if(isset($_GET['ln']) && !empty($_GET['ln']))
{
  $message = "forth message";
}
echo $message;
?>

演示:http://shaquin.tk/experiments/get-conditions.php

它检查是否定义了$_GET变量,如果它不为空,则将$message设置为相应的消息。

请参阅empty - PHP Manualisset - PHP Manual

修改

如果要显示多条消息,请使用以下代码:

$message=array();
if(isset($_GET['pw']) && !empty($_GET['pw']))
{
  $message[] = "first message";
}
if(isset($_GET['em']) && !empty($_GET['em']))
{
  $message[] = "second message";
}
if(isset($_GET['fn']) && !empty($_GET['fn']))
{
  $message[] = "third message";
}
if(isset($_GET['ln']) && !empty($_GET['ln']))
{
  $message[] = "forth message";
}
echo implode("\n", $message);

演示:http://shaquin.tk/experiments/get-conditions2.php

它将$message初始化为数组,然后在满足条件时添加到数组中。

在打印消息之前,implode使用换行符作为“粘合剂”。

请参阅implode - PHP Manual

对于HTML页面,您可能希望将“胶水”设置为<br />元素,如下所示:

echo implode('<br />', $message);

(或者如果您使用的是HTML4):

echo implode('<br>', $message);

答案 2 :(得分:0)

<?php if (!empty($message)) { echo $message;}?>

<?php if (isset($message)) { echo $mssage;}?>

<?php if (($message !== "") || (isset($message)) { echo $message; } ?>

或要做的任何事情if message exists then do this

答案 3 :(得分:0)

你可以做到

if ($message != "") { ?> 
   All your HTML code (including echo $message) goes here 
<?php
} else { do nothing here }
?>

答案 4 :(得分:-1)

每个人的回答都有相同的想法,但具体来说,这是你如何做到的:     

$message="";

if(isset($_GET['pw']))
{
  $message = "first message";
}
else if(isset($_GET['em']))
{
  $message = "second message";
}
else if(isset($_GET['fn']))
{
  $message = "third message";
}
else if(isset($_GET['ln']))
{
  $message = "forth message";
}
?>
<?php if ($message) :?>
<html>
    <head>
    <style type='text/css'>
        .tab2
        {
            width:400px; height:40px;
            position: absolute; right: 300px; top: 70px;
        }

        .td2
        {
            background-color:pink;
            color:blue;
            text-align:center;
        }
     </style>
     </head>
     <body>

         <table class='tab2'>
             <td class='td2'><?php echo $message; ?></td>
         </table>
     </body>
<html>
<?php endif;?>