0

これは私が現在持っている、更新したいコードです

<?php
if ($admin != null) {
    if ($admin->get_permissions()==3) echo "Welcome Administrator"; 
    elseif ($admin->get_permissions()==1) echo 'Welcome User';
}
else echo 'Welcome guest.';

今、私が表示したいのは、

<?php
if ($admin != null) {
    if ($admin->get_permissions()==3) echo '<center><br>Welcome';  
    echo $admin->get_nicename();
    echo '<br /><center>
        <p></p>
        <p>&nbsp; </p>
        <p>Basic Information about your account~ </p>
        <p>
        Username:';  
    echo $_SESSION['admin_login']; 
    echo'</p>
        <p>
        Email:'; 
    echo $admin->get_email(); 
    echo '</p>
        <p>
        Admin Level:';
    echo $admin->get_permissions(); 
    echo '<p>
        <p><hr />
        </center>

        <p>';

さて、それを実行しようとすると、次の場合に悪い構文が表示されます。私の他の問題は、javascriptボタンがあり、phpelseif行に実装する方法がわからないことです。ボタン自体は

<input type="button" onClick="javascript:window.location.href='logout.php'" value="Logout" /> コードがずさんなことは知っていますが、この変数を他の方法で設定する方法がよくわかりません。

4

2 に答える 2

0

次の場合、左中括弧が欠落していると思います。

if ($admin->get_permissions()==3) { echo '<center><br>Welcome'; 
//                                ^^ missing 

最後に右中括弧がありません。すべてのスクリプトを投稿したかどうかはわかりません。

コードを読みやすくすることをお勧めします。それにはさまざまな方法があります。

たとえば、次のように含めます。

if ($admin != null) {
  if ($admin->get_permissions()==3) { 
     include 'user_welcome.php';
  }
  // do other stuf here
}  

または、多くの html がある場合は、終了 php タグを使用します。

    if ($admin != null) {
      if ($admin->get_permissions()==3) { ?>
        <center>
          <br>
          Welcome <?php echo $admin->get_nicename(); ?><br />
        </center>
        <p>
        </p>
        <p>
          &nbsp; 
        </p>
        <p>
          Basic Information about your account~ </p>
        <p>
          Username: <?php echo $_SESSION['admin_login']; ?> 
        </p>
        <p>
        <!-- the rest of the html code -->
    <?php } // closing the sceond if
} // closing the first if
于 2012-10-07T08:54:24.820 に答える
0

さあ、仲間に行きましょう: http://www.php.net/manual/en/control-structures.if.php

あなたの構文を読んでください。JvdBerg、KingCrunch、および他の人が言ったように、コードに不足している括弧。かっこなしで if ステートメントを使用できますが、適切に実行していません。

そのリンクをもう一度簡単に教えてください。また、私の意見では、あまりにも多くの echo ステートメントを使用してチェックしています:

<?
$str = <<<EOF
blah, blah, blah, blah some text  and  a $variable 
blah, blah some <html> code, etc. ...
EOF;
?>

EOF の名前を任意に変更できるようになりましたが、一意であり、定数が割り当てられていないことを確認してください。ご覧のとおり、コードがより読みやすくなります。

また、html に問題があります。あなたの < center > タグには終わりがありません。プログラミングを続けますが、私が送ったリンクをブラッシュアップして、このような質問を投稿する前にコードをもう少し勉強してください。

于 2012-10-07T09:57:07.290 に答える