2017-04-20 35 views
0

我正在尝试通过设置不同的链接来完成网页导航栏,以便在登录用户会话时显示,但没有任何工作。如何在HTML中正确使用PHP if语句?

我一直在寻找几小时的代码相同的行,无法弄清楚为什么该语句是在导航栏上打印我的'if'和'else'语句。 代码如下。我已经尝试了多种方式,所以我将包括我试图让它更容易的所有方法。该代码下面是整个页面的代码。任何帮助表示赞赏!

--------------------------------------------- 

    <?php 
        session_start(); 
        if (1 = 0){ 
          <ul id=\"left\">" 
          <li><a href="#"><!--<img id="logo" src="Logo.svg"/>-->Study Studio</a></li> 
          <li><a href="#">Subject</a></li> 
          <li><a href="#">About Us</a></li> 
          <li><a href="#"></a></li> 
         </ul> 
         <ul id="right"> 
          <li><input type="search" id="navSearch" placeholder="Search"></li> 
          <li><a href="StudyStudioSignUp.html">Sign Up</a></li> 
          <li><a href="StudyStudioHomePage.html">Login</a></li> 
         </ul> 

        else { 
         <ul id="left"> 
          <li><a href="#"><!--<img id="logo" src="Logo.svg"/>-->Study Studio</a></li> 
        </ul> 
        }?> 

-------------------------------------------------------------- 

<nav id="headNav"><!-- start of navigation bar --> 



      <?php if (true) : ?> 
        <ul id="left"> 
         <li><a href="#">Study Studio</a></li> 
         <li><a href="#">Subject</a></li> 
         <li><a href="#">About Us</a></li> 
         <li><a href="#"></a></li> 
        </ul> 
        <ul id="right"> 
         <li><input type="search" id="navSearch" placeholder="Search"></li> 
         <li><a href="StudyStudioSignUp.html">Sign Up</a></li> 
         <li><a href="StudyStudioHomePage.html">Login</a></li> 
        </ul> 

      <?php else: ?> 
        <ul id="left"> 
         <li><a href="#">Study Studio</a></li> 
        </ul> 
      <?php endif; ?> 


     </nav><!-- end nav --> 
------------------------------------------------------------------------------ 


<!doctype html> 

<html> 
    <?php session_start(); ?> 
    <head> 
     <meta charset="utf-8" /> 
     <title>Study Studio - Sign Up</title> 
     <!-- Reset page styles --> 
     <link href="reset.css" rel="stylesheet"> 
     <link href="StudyStudioStyles.css" rel="stylesheet"> 
     <link href="https://fonts.googleapis.com/css?family=Quicksand" rel="stylesheet"> 
     <link href="https://fonts.googleapis.com/css?family=Paytone+One" rel="stylesheet"> 
     <link href="fonts.css" rel="stylesheet"> 
    </head> 

    <header> 
     <div id="navImg"> </div> 
     <nav id="headNav"><!-- start of navigation bar --> 



      <?php if (true) : ?> 
        <ul id="left"> 
         <li><a href="#">Study Studio</a></li> 
         <li><a href="#">Subject</a></li> 
         <li><a href="#">About Us</a></li> 
         <li><a href="#"></a></li> 
        </ul> 
        <ul id="right"> 
         <li><input type="search" id="navSearch" placeholder="Search"></li> 
         <li><a href="StudyStudioSignUp.html">Sign Up</a></li> 
         <li><a href="StudyStudioHomePage.html">Login</a></li> 
        </ul> 

      <?php else: ?> 
        <ul id="left"> 
         <li><a href="#">Study Studio</a></li> 
        </ul> 
      <?php endif; ?> 


     </nav><!-- end nav --> 
    </header> 

    <section id="SignUp"> 

     <h1>Sign Up</h1> 
     <form> 
      <input type="text" name="firstName" class="signUp" id="firstName" placeholder="First Name"> 
      <input type="text" name="lastName" class="signUp" id="lastName" placeholder="Last Name"><br> 
      <input type="text" name="email" class="signUp" id="email" placeholder="Email"><br> 
      <input type="text" name="school" class="signUp" id="school" placeholder="School"><br> 
      <input type="text" name="userName2" class="signUp" id="userName2" placeholder="User Name"><br> 
      <input type="password" name="password2" class="signUp" id="SignUp" placeholder="Password"> 
      <input type="password" name="check" class="signUp" id="check" placeholder="Re-type Password"><br> 
      <!-- 
      <input type="checkbox" name="instructor" class="signUp" id="instructor" value="instructor" onclick="instructor"> 
      <label for="instructor">Instructor</label><br> 
      --> 
      <input type="submit" name="submit" id="signUpBtn" value="Sign Up"> 
     </form> 

    </section> 

    <section id="section2"> 

    </section> 

    <script> 
     document.getElementById('instructor').onclick = function instructor() 
     { 
      document.getElementById("section2").innerHTML=("added stuff here"); 
     } 
    </script> 





    <footer> 
       <p id="footer"> 
        <!-- information here --> 
       </p> 

       <!-- three column layout for footer information, if needed --> 
       <nav id="end"> 
        <ul> 
         <div id="col1"> 
          <li><a href="#"></a></li> 
          <li><a href="#"></a></li> 
         </div> 
         <div id="col2"> 
          <li><a href="#"></a></li> 
          <li><a href="#"></a></li> 
         </div> 
         <div id="col3"> 
          <li><a href="#"></a></li> 
          <li><a href="#"></a></li> 
         </div> 
        </ul> 
       </nav> 
     </footer> 
+0

你的实际代码是什么?这有很多语法错误。 – chris85

回答

2

我会用简单的单引号echo

<?php 

session_start(); 

if (1 = 0) { 
    echo ' 
    <ul id="left">" 
     <li><a href="#">Study Studio</a></li> 
     <li><a href="#">Subject</a></li> 
     <li><a href="#">About Us</a></li> 
     <li><a href="#"></a></li> 
    </ul> 
    <ul id="right"> 
     <li><input type="search" id="navSearch" placeholder="Search"></li> 
     <li><a href="StudyStudioSignUp.html">Sign Up</a></li> 
     <li><a href="StudyStudioHomePage.html">Login</a></li> 
    </ul> 
    '; 

else { 
    echo ' 
    <ul id="left"> 
     <li><a href="#">Study Studio</a></li> 
    </ul> 
    '; 
} 

?> 

或者分离程序'逻辑''视图' - 我会使用一个变量

<?php 

$html = ""; 

if (true) { 
    $html .= ' 
    <p>Is TRUE</p> 
    '; 
} else { 
    $html .= ' 
    <p>Is FALSE</p> 
    '; 
} 

# other PHP logic here.... 

?> 

比最终在HTML下面dooown简单地

<?= $html ?> 
0

它要么全部写在PHP和回声使用'的html元素的HTML属性:

<?php 
if(){ 
echo "<p>This is a paragraph</p>"; 
} 
?> 

或HTML内包住它

<html> 
<p> <em> 
<?php 
    if(x == y){ 
     echo "cat"; 
    }else{ 
     echo "dog"; 
    } 
?> 
</em></p> 
</html> 
1

你的代码是html和php的混合,你没有正确关闭php标签。虽然写的PHP的HTML,你必须使用这个标签

<?php 

在PHP代码开始和在PHP代码月底结束标记 ?> 。

让我们

<?php 
    session_start(); 
    if (1 = 0){ 

你已经在这里开始了HTML和HTML那是什么?>

1
<?php 
$this->renderHtmlHead(); 
?> 
<body> 
<?php $this->renderHtmlBeforeContent() ?> 

<div class="container text-center"> 
    <?= $core->getPhrase('label_utils_intro') ?><br><br><br> 

    <div id="pasteContainer"> 
     <div class="form-group"> 
      <h4><?= $core->getPhrase('label_utils_paste') ?></h4><br> 
      <textarea class="form-control" id="pastedText" placeholder="<?= $core->getPhrase('label_paste') ?>"></textarea> 
     </div><br> 
     <div class="form-inline"> 
      <h5><?= $core->getPhrase('label_utils_quantity') ?><input id="charAmount" type="text" class="form-control numerical-input" placeholder="<?= $core->getPhrase('label_amount') ?>"></h5> 
     </div><br><br> 
     <div class="form-group"> 
      <button class="btn btn-success" onclick="return YS.splitText()"><?= $core->getPhrase('label_utils_click_me') ?></button> 
     </div> 
    </div> 
    <div id="resultDiv" style="display: none;"> 

    </div> 
</div> 

<?php 
$this->addScript('/assets/js/split_text.js'); 
$this->renderHtmlAfterContent(); 
$this->renderHtmlScripts(); 
?> 
</body> 

一些代码,以帮助展柜前没有关闭PHP的标签代码示例它只是一段简单的代码。最好使用PHP的开始和结束标签,在PHP之外编写所有HTML代码,并在需要时使用插入值。首先在我看来,如果做得对,它有助于代码的可读性和格式化。上面的代码片段非常易于阅读和理解。通常,当您生成HTML代码时,这些值基于您自己的PHP范围变量;因此你通常最终会在很多地方插入它们。

当使用echo(或任何其他打印方法)时,这会变得非常混乱并且难以维护,缺少逗号或引号会导致很多挫折并因此浪费您的时间。

0

要开始,你的php文件中有if/else语句有几个语法错误..它看起来不像你在开始else语句之前正确关闭If语句。