我是社区的新手,这是我迄今为止的第一个问题。
一个小时前我被困在这个问题上。会话检查用户是否已登录,然后显示包含login-form_eng.php
或logout-form_eng.php
。问题是显示的图像显示 3 次,我只调用一次包含函数。
<body>
<div id="full-wrap" class="container-wrap">
<div id="header-wrap" class="secondary-wrap">
<h1 class="linky-logo" title="elcoma.com"></h1>
<div id="main-menu-wrap" class="secondary-wrap">
<table border="0"cellspacing="0"cellpadding="0">
<tr><td>
<a class="linky8"title="Home"onclick="alert('Button Click')">
</td><td>
<a class="linky2"title="News"onclick="alert('Button Click')">
</td><td>
<a class="linky3"title="Products"onclick="alert('Button Click')">
</td><td>
<a class="linky4"title="Services"onclick="alert('Button Click')">
</td><td>
<a class="linky5"title="About Us"onclick="alert('Button Click')">
</td><td>
<a class="linky6"title="Contact"onclick="alert('Button Click')">
</td>
</tr>
</table>
</div>
</div>
<div id="login-logoff-wrap" class="secondary-wrap">
<?php
session_start();
if(isset($_SESSION['user']))
{
echo "Welcome back ". $_SESSION['user']. ". Please enjoy your stay at our site!";
include "logout-form_eng.php";
} else {
echo "Welcome guest. Please log in or register at our site";
include "login-form_eng.php";
}
?>
</div>
</div>
以下是问题外观的链接:
图片
编辑
显然,php脚本周围的两个div导致了问题。但我仍然无法解释为什么,有人可以向我解释吗?
我一一删除了所有div 中的所有类,然后我开始删除div。这就是我得出的解决方案,即围绕 php 登录脚本的两个div 以某种方式"调用"脚本?我没有其他解释,我将不胜感激。谢谢!
session_start() 应该放在页面上的所有输出之前。您在 PHP 前面的 HTML 被视为输出。
由于您没有为两个 PHP 页面发布 PHP,因此这些页面之一中是否有可能循环回去?
还可以使用 include_once() 来防止多次包含页面。http://php.net/manual/en/function.include-once.php
检查你的 CSS。类 secondary-wrap
在 DOM 中使用三次。我想,在您的 CSS 中,图像被用作.secondary-wrap
的背景。
要解决这个问题,你可以把额外的类,比如说.my-picture
到最上面的<div>
:
<div id="header-wrap" class="secondary-wrap my-picture">
并将背景图像从.secondary-wrap
移动到新.my-picture
。
或者只是从其他两个div 中删除class="secondary-wrap"
:
<div id="main-menu-wrap" class="secondary-wrap">
和
<div id="login-logoff-wrap" class="secondary-wrap">
如果此类中没有其他相关的 CSS。