1

我怎么能使用 php die 函数来阻止某些 div 加载?我知道它可能与死机不完全相同,但是我如何才能仅阻止特定的 div 加载?所以我希望不加载学习“col”和“col last”,而是加载 div id 栏。另外,如何使 if 语句中的 H2 标记不适用于 else 语句中的表?

<html>
<body>



<div id="header">
<div id="site">
    <h1><a href="#">site</a></h1>
    </div>

   <div id="menuholder">
    <ul id="menu">
        <li><a href="index.html">Home</a></li>
        <li class="active"><a href="about.php">about application</a></li>
        <li><a href="#">register</a></li>
        <li><a href="#">contact</a></li>
    </ul>
    </div>


</div>

<div id="teaser">
    <div class="wrap">
        <div id="image"></div>
        <div class="box">

<?php
session_start ();
if (isset($_SESSION['username']))
echo "<h2>Welcome, ".$_SESSION['username']."!</h2>";
else
die("You must be logged in to view this page. 
Register to gain access to learn more about the application.    
<form action='login.php' method='POST'>
<table>
<tr><td>Username: </td><td><input type='text' name='username'/></td><td>Password: </td> <td>              <input type='password' name='password'/></td> <td><input type='submit'  name='submit' value='Login'/></td></tr>
</table>
</form>
");

?>


            <p>Information about the application would go here</p>

        </div>

    </div>
</div>

<div id="bar">
    <div class="wrap">

    </div>
</div>



<div class="wrap">
    <div class="col">
        <h3>Learn <span class="red">More</span></h3>
        <p>More info </p>
    </div>
    <div class="col">
        <h3>User <span class="red">Statistics</span></h3>
        <p>More info</p>
    </div>
    <div class="col last">
        <h3>About <span class="red">Phapsy</span></h3>
        <p>More info</p>

    </div>
</div>

<div id="footer">
    <p class="right">Contact: </p>
</div>

4

5 回答 5

4

你不能。die()指示 PHP 停止进一步处理。

但是,这将起作用:

<?php
session_start ();
if (isset($_SESSION['username'])) {
    echo "<h2>Welcome, ".$_SESSION['username']."!</h2>";
    $auth = true;
} else {
    $auth = false; // Show the following HTML
?>
You must be logged in to view this page. 
Register to gain access to learn more about the application.    
<form action='login.php' method='POST'>
<table>
<tr><td>Username: </td><td><input type='text' name='username'/></td><td>Password: </td> <td>              <input type='password' name='password'/></td> <td><input type='submit'  name='submit' value='Login'/></td></tr>
</table>
</form>
<?php } // End ?>

然后在别处...

<?php if ( $auth == true ) { // Display this HTML only if authenticated ?>
    <div class="col last">
        <h3>About <span class="red">Phapsy</span></h3>
        <p>More info</p>

    </div>
<?php } // End ?>
于 2012-05-08T22:28:00.707 回答
1

在该部分中,只需使用andelse显示您想要显示的任何文本。你不需要。echo()exitdie()

于 2012-05-08T22:27:59.193 回答
0

使用 if 块:

<?php if($stuff): ?>
    <div></div>
<?php endif; ?>

“死”是句号;有办法拦截它,但不是方便的方法。在稍微不同的情况下,“return”可能会做您需要的事情(因为它只退出当前函数或文件)。

于 2012-05-08T22:29:19.027 回答
0

“所以我希望不要加载学习“col”和“col last””。用鼠标突出显示这些线条。点击删除键:)

如果您不希望它们显示,请使用if else语句。它将if首先查看该部分,如果为真,则执行代码,如果为假,它将移至else语句并尝试。

于 2012-05-08T22:30:07.103 回答
0

请不要死!不要放弃希望——总有一个选择。

尝试从条件语句中输出您的标记。

于 2012-05-08T22:30:57.683 回答