转到其他用户页面

时间:2018-03-30 00:56:01

标签: php mysql mysqli

我正在用PHP,HTML和MySQL创建一个社交网站。网站上的一项功能是用户键入另一个用户名,当他们点击它时,他们会转到该用户墙。我遇到的问题是,当我在搜索栏中输入后点击用户用户名时,我会回到我的主页,而不是其他用户的主页。有人能帮助我吗?

search2.php:

include("connect.php");

$output = '';

if(isset($_POST['search'])) {

if (empty($_POST["searchh"])) {
echo"You didn't enter anything . ";
} else {

$searchq = $_POST['searchh'];
$searchq = preg_replace("#[^0-9a-z]#i", "",$searchq);

$searchq = mysqli_real_escape_string($conn, $_POST['searchh']);
$query = mysqli_query($conn ,"SELECT * FROM users WHERE username LIKE '%$searchq%'") or die("Could not search");    
$count = mysqli_num_rows($query);

 if($count == 0){

echo "User does not exists";

} else {

while($row = mysqli_fetch_array($query)) {
    $username = $row['username'];
    $id = $row['id'];
    $output .= '<a href="home.php?username=$username" >'. '<div>' .$username. '</div>' .'</a>';
}

}    
}
} else {
echo"Not working";

}

profile.php:

<center>
<form action="search2.php" method="post">
<input type="text" name="searchh" placeholder="Search user ...">
<button id="bt3" type="submit" name="search">Search</button>

</form>
</center>

1 个答案:

答案 0 :(得分:2)

您在这种情况下以错误的方式组合字符串。

更改:

'<a href="home.php?username=$username" >'

'<a href="home.php?username='.$username.'" >'

对于$ _POST [&#39; searchh&#39;] - 拼写错误?应该是$ _POST [&#39; search&#39;]而不是?

似乎在home.php中,用户的个人资料显示,用户名正在传递额外的空格。因此,调整传入的$ _GET [&#39;用户名&#39;]和$ _SESSION [&#39;用户名&#39;]同时调用()。 home.php也不接受收到的$ _GET [&#39;用户名&#39;],用于识别哪个用户检索帖子。

紧随其后:

$username = isset($_SESSION['username']) ? $_SESSION['username'] : '';

添加

$username = trim(isset($_GET['username']) ? $_GET['username'] : $username);