我試圖發佈一個問題,我知道有很多答案都是圍繞Stack Overflow進行的。不過,由於某種原因,我似乎無法獲得點擊它們的信息。我會在問題結尾處發佈我的消息。用PHP for Dummies將'username'添加到'user_id'的URL
問題是,我該如何從URL &中取出user_id
mod_rewrite它顯示用戶名。
取而代之的是:
domain/user/index.php?user_id=1
我得到這個:
domain/username
我定製我的.htaccess文件等SO答案我需要這樣的:
<IfModule mod_rewrite.c>
Options +FollowSymlinks
RewriteEngine On
RewriteOptions MaxRedirects=1
RewriteCond %{REQUEST_FILENAME} -f [NC,OR]
RewriteCond %{REQUEST_FILENAME} -d [NC]
RewriteRule .* - [L]
RewriteRule ^user/([^/]+)$ index.php?user_id=$1
</IfModule>
The在我的用戶頁面的頂部if
語句如下所示:
if (isset($_GET['user_id']) || isset($_GET['username']) && queryUserId($user_id)) {
// Render Page Content
} else {
header('Location: sign_up.php');
}
而且我queryUsername
功能如下:
function queryUsername($username) {
$conn = dbConnect('read');
$sql = "SELECT * FROM users WHERE user_id = '".$username."'";
$result = $conn->query($sql) or die(mysqli_error($conn));
$row = $result->fetch_assoc();
return $row['username'];
$username = $row['username'];
}
我已經成功地實施了唯一URL的用戶,和我剛剛訪問帳戶配置文件在將不同的user_id添加到我的URL時很好,所以我錯過了將用戶名寫入URL而不是變量字符串和文件夾結構的內容?
乾杯!
其他SO問題:
Directly adding username to URL PHP
Using mod rewrite to change URL with username variable
AddedBytes文章
感謝您的答覆!讓我實施你的建議,我會回來。 – robabby 2012-08-11 19:24:39
好的,我已經修改了我的大部分代碼,而且我很接近。當我訪問'domain.com/username'時,我收到了一個頁面,這非常棒。然而,我並沒有將任何數據引入該頁面,所以我需要重構我的變量。非常感謝你的傑出和教育的答案。 +1和答案。 – robabby 2012-08-11 19:54:05