此代碼中的其他dosent工作,我已經追平很多事情不只是重定向()如何編寫PHP否則在HTML
<html>
<?php if($_SESSION['username']) : ?>
<?
echo "Hi, " .$_SESSION['username']. " | ";
?>
<a href='logout.php'>Logout</a>
<?
else
redirect();
?>
<?php endif; ?>
</html>
此代碼中的其他dosent工作,我已經追平很多事情不只是重定向()如何編寫PHP否則在HTML
<html>
<?php if($_SESSION['username']) : ?>
<?
echo "Hi, " .$_SESSION['username']. " | ";
?>
<a href='logout.php'>Logout</a>
<?
else
redirect();
?>
<?php endif; ?>
</html>
這應該澄清一些事情你同時使用替代語法:http://www.php.net/manual/en/control-structures.alternative-syntax.php
它應該有一個冒號:
<?
else:
redirect();
?>
您是否使用了特殊的框架來構建的網頁?通常情況下,你的輸出用PHP可以是HTML一樣,所以無需啓動/停止腳本語言,而是嘗試是這樣的:?
<html>
<?php
if($_SESSION['username'])
{
echo "Hi, " .$_SESSION['username']. " | ";
echo "<a href='logout.php'>Logout</a>";
}
else
{
redirect();
}
>
如果替代語法讓你困惑,你總是可以使用更熟悉的大括號:
<?php if($_SESSION['username']) { ?>
Hi, <?php echo $_SESSION['username'] ?> | <a href='logout.php'>Logout</a>
<? } else { redirect(); } ?>
還是做這一切在PHP中:
<?php
if($_SESSION['username']) {
echo "Hi, " . $_SESSION['username'] . " | <a href='logout.php'>Logout</a>";
} else {
redirect();
}
?>
我個人發現那些更清潔。
的其他錯過了 ':'
<html>
<?php if($_SESSION['username']) : ?>
<?
echo "Hi, " .$_SESSION['username']. " | ";
?>
<a href='logout.php'>Logout</a>
<?
else:
redirect();
?>
<?php endif; ?>
</html>
使用else條件結腸。還請檢查您的php支持<?
或不。試試這個:
<?php
else:
redirect();
?>
你在談論什麼PHP支持? –
他指的是<?'short_open_tag被啓用。如果short_open_tag被禁用,並使用'<?',你會看到PHP代碼輸出到瀏覽器。 –
如果你正在做一個重定向話,我會考慮具有通過代碼的主路徑,這樣,它的頂部清晰,而不是埋3/4一路下滑。另外,你可以在頁面的其餘部分忘記它。
E.g.
<?php
if(! $_SESSION['username']) {
redirect();
} else { ?>
stuff...
<?php
} >
使用大括號這種風格是否有優勢? –
我會說它的個人喜好,只要你緩存字節碼,性能保持不變。 – SamV