我在我的網站上創建一個搜索欄功能,用戶可以使用名稱搜索用戶。搜索結果可能會出現多個用戶名稱相似(例如,如果我搜索「珍娜「,我的數據庫可能有多個用戶名爲」珍娜「,因此會顯示多個結果)。我希望用戶能夠點擊其中一個配置文件並查看特定的」珍娜「用戶配置文件。有點像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