我的footer.php中有admin按钮,当我在页面末尾包含它时按钮没有出现..但如果我把它放在这段代码之前:
<?php if ($row["rights"]=="2"):?>
<div id='cssmenu-admin'>
<ul>
<li name='admin' class='active'><a href='administration.php'><span>Admin</span></a></li>
</ul>
</div>
<?php endif; ?>
来自footer.php的在循环之前它的工作方式应该如此。
这是我的footer.php文件:
<div id="footer">
<hr>Copyrighted (C) 2014 by djdanas@gmail.com<br>
<?php if ($row["rights"]=="2"):?>
<div id='cssmenu-admin'>
<ul>
<li name='admin' class='active'><a href='administration.php'><span>Admin</span></a></li>
</ul>
</div>
<?php endif; ?>
</div>
<br><hr>
这是我的页面文件:
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>Pagrindinis</title>
<link href="CSS/stilius.css" rel="stylesheet" type="text/css"/>
<link href="CSS/menu.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<?php require("includes/validate.php");?>
<?php require("includes/stilius.php");?>
<?php
require("includes/connection_to_db.php");
$sql = "SELECT prekės.* , CONCAT(vartotojai.name) as v_name
FROM prekės
LEFT JOIN vartotojai
ON vartotojai.V_ID=prekės.V_ID
ORDER BY prekės.date
DESC LIMIT 8";
$result = mysql_query("$sql");
?>
<?php mysql_close(); ?>
<?php while ($row = mysql_fetch_assoc($result)) : ?>
<?php $image = '<td><img src="data:image/jpeg;base64,'.base64_encode($row['image']).'" name="pix" width="270" height="200"/></td>' ?>
<table class="two">
<th><?php echo $row['name'] ?></th>
<th>Prekės savininkas: <?php echo $row['v_name']?></th>
<th><input type="button" value="Mainyti"></th>
<tr>
<?php echo $image?>
<td><textarea disabled style="resize:none; background-color:white" name="about" rows="12" cols="65"><?php echo $row['specs']?></textarea><td>
</table>
<?php endwhile; ?>
<?php require("includes/footer.php");?>
</body>
</html>
修改
好的,我通过添加新变量
解决了我的问题$rights = $row['rights'];
之后
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>Pagrindinis</title>
<link href="CSS/stilius.css" rel="stylesheet" type="text/css"/>
<link href="CSS/menu.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<?php require("includes/validate.php");?>
<?php require("includes/stilius.php");?>
在我的页面文件中,并在我的footer.php文件中更改了一行
<?php if ($row['rights']=="2"):?>
到
<?php if ($rights="2"):?>
现在它的工作就像一个魅力:)
答案 0 :(得分:0)
我会在黑暗中刺伤并说出你的测试
if ($row["rights"]=="2")
表示您正在检查登录的用户是否具有2的“权限”?
然后当你循环查询...
while ($row = mysql_fetch_assoc($result))
您正在覆盖 $ row 变量。所以无论你想到的是什么,都不再存在了。您应该为用户使用不同的变量或循环查询。
修改强>: 一旦到达测试位置,变量也可能不在范围内。您可以尝试在footer.php中使用print_r($ row)来查看当前$ row内的内容 - 这应该会有所帮助。