<DIV> 显示 3 张图像而不是 1 张


<DIV> shows 3 images instead of 1

我是社区的新手,这是我迄今为止的第一个问题。

一个小时前我被困在这个问题上。会话检查用户是否已登录,然后显示包含login-form_eng.phplogout-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。