如何正确使用HTML中的PHP if语句?

时间:2017-04-20 19:31:20

标签: php html

我试图通过设置记录用户会话但不起作用的不同链接来完成网页导航栏。

我一直在查看相同的代码行数小时,并且无法弄清楚为什么声明同时打印我的' if'和'其他'导航栏上的语句。 代码如下。我已尝试过多种方式,因此我将包含我尝试使其变得更容易的所有方法。该代码下面是整个页面的代码。任何帮助表示赞赏!

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

    <?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>

5 个答案:

答案 0 :(得分: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>
    ';
}

?>

或者将您的程序&#39;逻辑&#39; &#39;视图&#39; 分开 - 我使用变量

<?php

$html = "";

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

# other PHP logic here....

?>

最后只需在HTML中输入

<?= $html ?>

答案 1 :(得分:1)

你的代码是html和php的混合,你还没有正确关闭php标签。在使用php编写html时,必须使用此标记

<?php

在php代码和结束标记的开头       ?&GT;  在PHP代码的最后。

让我们以您的代码为例

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

你已经在这里启动了html并且在html之前没有关闭php标签吗?&gt;

答案 2 :(得分: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之外编写所有HTML代码,并在需要时使用插入值。首先,在我看来,如果正确完成,它有助于您的代码的可读性和格式化。上面的代码片段非常易于阅读和理解。通常,当您生成HTML代码时,值基于您自己的PHP范围变量;因此,您经常最终将它们插入许多地方。

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

答案 3 :(得分:0)

要么在php中全部写出来并使用&#39;来回显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>

答案 4 :(得分:0)

首先,你的php文件中有几个语法错误,带有if / else语句..看起来你在启动else语句之前没有正确关闭If语句。