【问题标题】:How to Include PHP code in between HTML tags? [closed]如何在 HTML 标签之间包含 PHP 代码? [关闭]
【发布时间】:2016-06-08 13:44:48
【问题描述】:

目前我正在使用 Codeigniter 框架和 PHP 开发应用程序。在那里,我需要在 HTML 标记之间包含下面提到的 PHP 代码。 任何人都可以为此提供解决方案或指导吗?

PHP code :
             if(isset($_SESSION['email'])) 
                {  
                    echo '<a href="http://localhost/ci/myads_view">';
                    echo 'MY ADS' ;
                    echo '</a>';
                }
HTML code:
         <nav class="main-navigation dd-menu toggle-menu" role="navigation">
             <ul class="sf-menu"/>
            </nav>

【问题讨论】:

标签: php html codeigniter


【解决方案1】:

你可以随意进出PHP:

<?php if(isset($_SESSION['email'])) { ?>
  <a href="http://localhost/ci/myads_view">MY ADS</a>
<?php } ?>

在上面,如果 PHP if 语句的计算结果为 true,则条件中的 HTML 将执行,否则不执行。

在你的特殊情况下,我只能假设这是你想要做的:

<nav class="main-navigation dd-menu toggle-menu" role="navigation">
  <ul class="sf-menu">
    <li>
      <?php if(isset($_SESSION['email'])) { ?>
        <a href="http://localhost/ci/myads_view">MY ADS</a>
      <?php } else { ?>
        <a href="http://localhost/ci/other-link">OTHER LINK</a>
      <?php } ?>
    </li>
  </ul>
</nav>

或者类似上面的内容?

【讨论】:

    【解决方案2】:

    PHP 非常酷,您可以在文档中停止/恢复它。 例如像这样,我希望这是您尝试做的解决方案:

    <?php
      if(isset($_SESSION['email']))
      { /* this will temporarily "stop" php --> */ ?>
          <a href="http://localhost/ci/myads_view">
              <nav class="main-navigation dd-menu toggle-menu" role="navigation">
              <ul class="sf-menu">
          </a>
        <?php /* <-- php resumes now */
      }
    ?>
    

    那么发生了什么?

    首先,编写 IF 语句和大括号,如果 IF 语句的计算结果为 TRUE,则通常会执行其中的代码。

    <?php
      if(something==true)
      {
        echo "write something to the page";
      }
    ?>
    

    但是,您无需使用 PHP 命令,而是通过关闭 PHP 标记 ?> 快速跳出 PHP,就像您在 PHP 代码末尾所做的那样。

    <?php
      if(something==true)
      {
        ?>
    

    现在您可以继续使用纯 HTML,而无需像转义字符(如 ' 和 " 和 \ )等所有常见的 PHP 命令相关问题,以及查看您的“qoute 级别”等等。相反,您可以编写标准 HTML。

    当您完成输入应输出的 HTML 以防 IF 语句为真时,只需打开另一个 PHP 标记并关闭 IF 语句的大括号,如果这是您的 PHP 的结尾,请关闭 PHP 标记为好吧。

        <?php
      }
    ?>
    

    【讨论】:

      【解决方案3】:

      你做的是正确的,另外你可以写如下:

      $str = <<<EOD
      Example of string
      spanning multiple lines
      using heredoc syntax.
      EOD;
      echo $str;
      

      参考 - http://php.net/manual/en/language.types.string.php

      【讨论】:

      • 以上几行意味着我什么都不懂
      • 这个叫做heredoc语法,你不需要在php里面用echo写html标签,而是可以在
      • 在线搜索heredoc语法希望能解你的疑惑。
      【解决方案4】:

      要将链接放在导航中,您可以这样做,都在同一个 PHP 文件中。

      <?php
      if(isset($_SESSION['email'])) {  
          $navLink= '<a href="http://localhost/ci/myads_view">MY ADS</a>';
      }
      ?>
      
      <nav class="main-navigation dd-menu toggle-menu" role="navigation">
       <ul class="sf-menu"><?php echo($navLink); ?>
      

      【讨论】:

        【解决方案5】:

        这应该可行:

        <?php if(isset($_SESSION['email'])): ?>  
            <nav class="main-navigation dd-menu toggle-menu" role="navigation">
            <ul class="sf-menu">
        <?php endif; ?>
        

        【讨论】:

          猜你喜欢
          • 2016-05-27
          • 2017-02-09
          • 1970-01-01
          • 1970-01-01
          • 2017-09-20
          • 1970-01-01
          • 2016-06-22
          • 1970-01-01
          • 2013-08-16
          相关资源
          最近更新 更多