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>';

现在,当我试图让它运行时,它给了我下一个 else if 的错误语法;我的另一个问题是我确实有一个 javascript 按钮,我不确定如何在 php else if 行中实现该按钮;按钮本身是

<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 使用 end 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 语句,但您没有正确执行。

快速浏览一下该链接。另外,在我看来,您有太多的回声语句要使用:

<?
$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 回答