如果在php中使用的回声太多了吗?

时间:2012-10-07 08:48:02

标签: php

这是我目前要更新的代码

<?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按钮,我不知道如何实现到php其他如果行;按钮本身是

<input type="button" onClick="javascript:window.location.href='logout.php'" value="Logout" /> 我知道代码很草率,但我不确定如何以任何其他方式设置此变量。

2 个答案:

答案 0 :(得分:0)

如果if:

,我认为你错过了大括号
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

答案 1 :(得分: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问题。你的&lt;中心&gt;标签没有结束。继续编程,但刷新我发送的链接,并在发布这样的问题之前再学习一下你的代码。