0

ヘッダーからさまざまなメッセージをリダイレクトして、新しいページにエコーします。エコーするメッセージ変数がある場合にのみhtmlが表示されるように、これを変更するにはどうすればよいですか。つまり、$_GET条件の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";
}
    ?>
<html>
     <body>
         <table class='tab2'>
             <td class='td2'><?php echo $message; ?></td>
         </table>
     </body>
<html>
4

5 に答える 5

2
<?php
   if($message)
   {
?>

   <html>
   ....

   </html>

<?php
   }
?>
于 2012-07-18T23:54:38.580 に答える
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 マニュアルおよびisset-PHPマニュアル を参照してください。

編集:

複数のメッセージを表示する場合は、次のコードを使用します。

$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、改行文字を「接着剤」として使用します。

内破 - PHP マニュアルを参照してください。

HTML ページの場合、おそらく次のように「glue」を<br />要素として設定する必要があります。

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

(または HTML4 を使用している場合):

echo implode('<br>', $message);
于 2012-07-19T00:13:12.190 に答える
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

于 2012-07-18T23:51:58.923 に答える
0

できるよ

if ($message != "") { ?> 
   All your HTML code (including echo $message) goes here 
<?php
} else { do nothing here }
?>
于 2012-07-18T23:59:11.723 に答える
-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;?>
于 2012-07-19T00:11:10.110 に答える