Когда вы не авторизованы, 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">
не отображается для не авторизованных пользователей.