Когда вы не авторизованы, css отсутствует на боковой панели

Вот мой сценарий для моей домашней страницы:

<?php 
include('inc/connect.php');
mysql_select_db("hub");
?>
<html>
<head>
<title>CyberBat - Learning Tech</title>
<link type="text/css" rel="stylesheet" href="inc/style.css" />
<script src="http://code.jquery.com/jquery-latest.js"></script>
</head>
<body>
<?php include('inc/header.php'); ?>
<div id="menu">
<ul>
<A HREF="?tuts"><li>Tutorials</li></A>
<A HREF="#"><li>Coming Soon</li></A>
</ul></div>
<div class="content">
<div id="left">
<?php

$result = mysql_query("SELECT * FROM posts ORDER BY id DESC");
while($row = mysql_fetch_array($result))
{
?>
<div class="p-title"><p><?php echo $row['name']; ?></p><ul id="p-title_list"><li>
<div id="folder"><?php echo $row['topic']; ?></div></li><li>
<div id="date">5 Febuary, 2012</div></li></ul></div>
<div id="icon"><img src="<?php echo $row['icon']; ?>"><br /><Br /></div><br /><Br />
<div id="desc"><?php echo substr($row['description'], 0, 400); ?>
<a href="win/sorry-  for-delay">READ MORE</a> | <a href=""><s>TWEET</s></a><br />
</div>

<?php
}
?>
<div class="bottom"></div>
</div>
<?php include('inc/footer.php'); ?>
</body>
</html>

Мой код боковой панели:

<?php 
$con = mysql_connect("localhost","root","");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}

mysql_select_db("users", $con);

$result = mysql_query("SELECT * FROM users WHERE id='$id'");

while($row = mysql_fetch_array($result))
{ 
?><div id="sidebar">
<?php if(!empty($username)) {
?>
<div class="sidefile">
<div id="avatar">
<img src="http://localhost/uploads/avatar/<?php echo $_COOKIE['id']; ?>.png" 
width="130" height="90">
</div>
<div id="rightava">
<h2><?php echo $username; ?></h2>
Repuation: <?php echo $row['reputation']; ?><Br />
Level: Coming Soon<br />
Messages: <?php echo $row['unread_messages']; ?> / <?php echo $row['messages']; ?>
<Br />
</div>
</div>
<?php }
}
?>
<p>Topics:
<ul>
<li>Web Development</li>
<a href="win"><li>Windows</li></a>
<li>Graphics</li>
</ul></p></div>
</div>

Пожалуйста, помогите мне исправить это, содержание сделано через куки, и куки меняются на $username и т. Д. В заголовке. Вот снимок, как это выглядит, не вошли в систему:

http://i44.tinypic.com/hx0iec.png

Войти в систему: http://i39.tinypic.com/axmyaq.png

2 ответа

Решение

<div id="sidebar"> находится внутри вашего цикла WHILE, приводящего к неработающему HTML, если по вашему запросу select нет результатов. Переместите его выше отверстия петли.

Держу пари, что, поскольку ни один пользователь не вошел в систему, запрос

$result = mysql_query("SELECT * FROM users WHERE id='$id'");

возвращается 0 Результаты. Это означает, что mysql_fetch_array($result) вернет false при первом вызове.

Это приводит к вашему коду внутри вашего while($row = mysql_fetch_array($result)) цикл while не выполняется вообще.

Это в конечном итоге приводит к вашему <div id="sidebar"> не отображается для не авторизованных пользователей.

Другие вопросы по тегам