我在我的网站上创建一个搜索栏功能,用户可以使用名称搜索用户。搜索结果可能会出现多个用户名称相似(例如,如果我搜索“珍娜“,我的数据库可能有多个用户名为”珍娜“,因此会显示多个结果)。我希望用户能够点击其中一个配置文件并查看特定的”珍娜“用户配置文件。有点像Twitter,我可以在那里搜索帐户并查看不同的配置文件。现在我有代码返回搜索,并使搜索结果成为一个可点击的链接。但是,当我尝试保存用户标识时,它只保存最新的用户标识。链接到特定的用户配置文件php
home.php(其中用户在搜索栏中IS0
<form method="GET" action="search.php" id="searchform">
Search for users:
<input type="text" name="search_user" placeholder="Enter username">
<input type="submit" name="submit" value="Search">
</form>
的search.php(打印出用户名,该用户搜索)
session_start();
$user = '';
$password = '';
$db = 'userAccounts';
$host = 'localhost';
$port = 3306;
$link = mysqli_connect($host, $user, $password, $db);
mysqli_query($link,"GRANT ALL ON comment_schema TO 'oviya'@'localhost'");
if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}
$search_user = $_GET['search_user'];
$sql = "SELECT * FROM users WHERE username LIKE '%$search_user%'";
$result = mysqli_query($link, $sql);
if(mysqli_num_rows($result)>0){
while ($row = mysqli_fetch_assoc($result)) {
$a = '<a';
$b = ' href="';
$c = 'user_profiles.php';
$d = '">';
$e = $row['username'];
$f = '</a';
$g = '>';
$_SESSION['user'] = $row['user_id'];
$userID = $_SESSION['user'];
echo $a.$b.$c.$d.$e.$f.$g;
header("Location: user_profiles.php");
}
}
user_profiles.php (应该是显示特定用户简档的位置,基于用户用特定用户ID点击的链接)
session_start();
$userID=$_SESSION['user'];
$link = mysqli_connect('localhost', 'x', '', 'userAccounts');
$query="SELECT * FROM dataTable WHERE user_id='$userID'";
$results = mysqli_query($link,$query);
while ($row = mysqli_fetch_assoc($results)) {
echo '<div class="output" >';
$entry_id = $row["entry_id"];
$output= $row["activity"];
echo "Activity: ";
echo htmlspecialchars($output ,ENT_QUOTES,'UTF-8')."<br>"."<br>";
$output= $row["duration"];
echo "Duration: ";
echo htmlspecialchars($output ,ENT_QUOTES,'UTF-8')." hrs"."<br>"."<br>";
$output= $row["date_"];
echo "Date: ";
echo htmlspecialchars($output ,ENT_QUOTES,'UTF-8')."<br>"."<br>";
echo '</div>';
}
我得到我的错误所在,search.php中的while循环只会保存最新的用户标识,因此链接将始终将我带到具有该用户标识的用户配置文件中。我只是不确定如何实现它,以便当用户查看配置文件列表时,他们点击的链接将根据用户标识将它们带到特定配置文件。
'的print_r($ _ SESSION [ '用户'])'在个人资料页ANS发布它的价值! – Saty
@Oviya Arasu,请检查我的答案,让我知道如果它解决您的问题 – Nehal