表格显示给所有用户

时间:2012-08-11 20:38:15

标签: php html

我有自己的php设置,只有登录用户,查看自己的个人资料才能通过我提供的表单分享内容。如果您正在查看其他用户的个人资料页面,则不应该看到它,但由于某种原因,它仍然显示出来。我能做错什么?

<?php


if (isset($_COOKIE['user_id'])) {

if(isset($_GET['id'])) {
    $user_id= $_GET['id'];
}
else {
    $user_id= $_COOKIE['user_id'];
}

$dbc= mysqli_connect('localhost', 'root', '', 'beta');

$query= "SELECT * FROM users WHERE user_id= '$user_id'";
$result= mysqli_query($dbc, $query);
$data= mysqli_fetch_array($result);
if (!isset($_GET['user_id']) || ($_GET['user_id'] == $_COOKIE['user_id']))
{
echo "Share Something:";
?>

<form method="post" action="share.php">
<input type="text" name="story"/>
<input type="submit" name="submit" value="share"/>
</form> 

<?php
}
echo '<a href="logout.php"> Logout </a></br><hr>';
echo $data['fname'] . " " . $data['lname'] . "</br><hr>";

$query2= "SELECT * FROM posts WHERE user_id= '$user_id'";
$result= mysqli_query($dbc, $query2);

while ($row= mysqli_fetch_array($result)) {
    echo $row['story'] . "</br>";
}
}
else {
echo 'please <a href="login.html"> Login </a>!';
}

?>

2 个答案:

答案 0 :(得分:2)

一次使用$user_id = $_GET['id'];,如果您使用$_GET['user_id']

答案 1 :(得分:1)

我猜你的if语句是当前用户ID来自cookie,而“page”的用户ID来自查询字符串。

所以试试,

if (isset($_GET['user_id']) && ($_GET['user_id'] == $_COOKIE['user_id']))

这样你就必须在你的“用户页面”上看到表格。

您还在使用'id''user_id'这是正确的吗?