2017-04-20 11 views
0

私はユーザーセッションがログに記録されているのに何も動いていないときに表示される異なるリンクを設定することで、Webページのナビゲーションバーを完成させようとしています。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 
if(){ 
echo "<p>This is a paragraph</p>"; 
} 
?> 

またはHTML

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

HTMLに以下単に

<?= $html ?> 
をdooownも10

あなたのコードはhtmlとphpが混在しており、phpタグを適切に閉じていません。 PHPでHTMLを書いている間、あなたは、PHPコードとPHPコードの末尾の終了タグ ?> の開始時にこのタグ

<?php 

を使用している必要があります。

のは、あなたがここにHTMLを開始しているとショーケースを助けるためにいくつかのコード?>

1
以内にそれを包む:最終的にはPHPでそれをすべて書き、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> 

をされるHTML前に、PHPのタグを閉じなかった

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

あなたのコードの例を見てみましょうそれは単なる単純なコードです。 PHPの開始タグと終了タグを使用し、PHP以外のすべてのHTMLコードを記述し、必要に応じて値を挿入するためにtoを使用する方がよいでしょう。まず第一に、正しく行われれば、コードの可読性とフォーマットに役立ちます。上記のコードスニペットは、読みやすく理解しやすいです。多くの場合、HTMLコードを生成するときに、値は独自のPHPスコープ変数に基づいています。あなたはしばしばそれらを多くの場所に挿入することになります。

エコー(または他の印刷方法)を使用すると、非常に扱いにくくメンテナンスが難しく、カンマや引用符がないと不満が多くなり、結果として時間が浪費されます。

0

if/else文を使ってphpファイルにいくつかの構文エラーがあります。else文を開始する前にIf文を正しく終了しているように見えません。

関連する問題