我需要将PHP代码置于HTML标记之间。我对如何做到这一点很困惑。有没有人有解决方案?
if(isset($_SESSION['email'])) {
echo '<a href="http://localhost/ci/myads_view">';
echo 'MY ADS' ;
echo '</a>';
}
<nav class="main-navigation dd-menu toggle-menu" role="navigation">
<ul class="sf-menu">
我正在使用codeigniter框架。
答案 0 :(得分:2)
您可以随意进出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>
或者上面的内容?
答案 1 :(得分:1)
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?&gt;就像你在PHP代码结束时所做的一样。
<?php
if(something==true)
{
?>
现在,您可以继续使用纯HTML,而不会将所有常见的PHP命令相关问题视为转义字符,例如&#39;和&#34;和\看你的&#34; qoute等级&#34;等等。相反,你写了标准的HTML标准。
如果你输入了在IF语句为真的情况下应该输出的HTML,只需打开另一个PHP标记并关闭IF语句的大括号,如果是的话PHP结束时,也关闭PHP标记。
<?php
}
?>
答案 2 :(得分:0)
你所做的是正确的,另外你可以写如下:
$str = <<<EOD
Example of string
spanning multiple lines
using heredoc syntax.
EOD;
echo $str;
答案 3 :(得分:0)
要将链接放在导航中,您可以这样做,所有这些都在同一个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); ?>
答案 4 :(得分:0)
这应该有效:
<?php if(isset($_SESSION['email'])): ?>
<nav class="main-navigation dd-menu toggle-menu" role="navigation">
<ul class="sf-menu">
<?php endif; ?>