Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/287.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 仅在满足$get条件时回显html_Php_Html - Fatal编程技术网

Php 仅在满足$get条件时回显html

Php 仅在满足$get条件时回显html,php,html,Php,Html,我正在重定向来自标题的各种消息,并将它们回送到新页面上。如何更改此设置,使html仅在存在要回显的消息变量时显示。i、 例如,是否满足$\u GET条件之一?谢谢 $message=""; if(isset($_GET['pw'])) { $message = "first message"; } else if(isset($_GET['em'])) { $message = "second message"; } else if(isset($_GET['fn'])) { $m

我正在重定向来自标题的各种消息,并将它们回送到新页面上。如何更改此设置,使html仅在存在要回显的消息变量时显示。i、 例如,是否满足
$\u 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>
$message=”“;
如果(isset($_GET['pw']))
{
$message=“第一条消息”;
}
else if(isset($\u GET['em']))
{
$message=“第二条消息”;
}
else if(isset($\u GET['fn']))
{
$message=“第三条消息”;
}
else if(isset($\u GET['ln']))
{
$message=“第四条消息”;
}
?>


....
您可以这样做

if ($message != "") { ?> 
   All your HTML code (including echo $message) goes here 
<?php
} else { do nothing here }
?>
if($message!=“”){?>
您所有的HTML代码(包括echo$message)都在这里

每个人的答案几乎都有相同的想法,但具体来说,以下是您的方法:
$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;?>
$message=”“;
如果(isset($_GET['pw']))
{
$message=“第一条消息”;
}
else if(isset($\u GET['em']))
{
$message=“第二条消息”;
}
else if(isset($\u GET['fn']))
{
$message=“第三条消息”;
}
else if(isset($\u GET['ln']))
{
$message=“第四条消息”;
}
?>
.表2
{
宽度:400px;高度:40px;
位置:绝对;右侧:300px;顶部:70px;
}
.td2
{
背景颜色:粉红色;
颜色:蓝色;
文本对齐:居中;
}
您可以使用以下功能:

<?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;
?>
演示:

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

在打印消息之前,它将
内爆
s,使用换行符作为“胶水”

对于HTML页面,您可能希望将“glue”设置为

元素,如下所示:

echo implode('<br />', $message);
echo内爆('
',$message);
(或者如果您使用的是HTML4):

回波内爆(“
”,$message);
如果
!empty($message){输出html}
小括号里是什么?@user1531158您的整个html块。打开
后关闭
?>
{
,输出HTML,然后重新打开
嗨,谢谢你的代码,仍然有一些问题,也许我把它放错地方了,它到底应该放在哪里?所以,你提供的代码基本上说,“如果设置了x,则使message=messageX;如果设置了y,则使message=messageY”下一步将放在你键入“echo$message”代码。您要做的是,如果设置了任何消息,则只回显任何消息。因此,您需要的代码不仅仅是“echo$message”,而是“如果设置了消息,则回显$message”
$message!==”"
会更合适。效果非常好,我真的很感谢你花时间帮我找到你的a星:D通过这种方法,使用更少的代码,在HTML开头使用
,在结尾使用
。@Shaquin Trifonoff是的,我曾经这样做过。但是,我被告知
endif
更容易理解在PHP和HTML混合的文件上进行编码时,我现在也相信它是归结于个人偏好的。- -我使用<代码> } /COD>因为它适合于其他语言,否则它看起来像是VB与C++之间的奇怪组合。
$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);
echo implode('<br />', $message);
echo implode('<br>', $message);