- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
因此,我希望允许我的成员(member)通过以下网址查看个人资料:mywebsite.com/account/Username
但是,目前我的成员(member)可以通过以下网址查看:mywebsite.com/account?username=username。
这看起来不专业,我已经尝试了几乎所有方法来将其到达我想要获得的网址。(请注意;我对这个网站还很陌生,无法正确使用它,如果我做错了什么,请通知我,我将证明其合理性。)代码:
//get config
$config = $base->loadConfig();
完整代码: https://pastebin.com/UmAmF9Rt
<?php
require('../includes/config.php');
require('../structure/base.php');
require('../structure/forum.php');
require('../structure/forum.index.php');
require('../structure/forum.thread.php');
require('../structure/forum.post.php');
require('../structure/database.php');
require('../structure/user.php');
$database = new database($db_host, $db_name, $db_user, $db_password);
$base = new base($database);
$user = new user($database);
$forum = new forum($database);
$forum_index = new forum_index($database);
$thread = new thread($database);
$post = new post($database);
$user->updateLastActive();
//get config
$config = $base->loadConfig();
//set some variables that are used a lot throughout the page
if (!empty($_GET['username'])) {
$profile_name = htmlspecialchars($_GET["username"]);
}
else{
$profile_name = $user->getUsername($_COOKIE['user'], 2);
}
$username = $user->getUsername($_COOKIE['user'], 2);
$rank = $user->getRank($username);
$f = $_GET['forum'];
$i = $_GET['id'];
//assign data to details[] array
$details['lock'] = $detail_query[0]['lock'];
$details['sticky'] = $detail_query[0]['sticky'];
$details['title'] = stripslashes(htmlentities($detail_query[0]['title']));
$details['username'] = $detail_query[0]['username'];
$details['status'] = $detail_query[0]['status'];
$details['content'] = $detail_query[0]['content'];
$details['date'] = $detail_query[0]['date'];
$details['lastedit'] = $detail_query[0]['lastedit'];
$details['qfc'] = $detail_query[0]['qfc'];
$details['moved'] = $detail_query[0]['moved'];
$details['hidden'] = $detail_query[0]['hidden'];
$details['autohiding'] = $detail_query[0]['autohiding'];
//get forum details
$forum_details = $database->processQuery("SELECT `title` FROM `forums` WHERE `id` = ?", array($f), true);
if(isset($_GET['username'])){
if($user->doesExist($_GET['username'])){;
}
}else{
if(!$user->isLoggedIn()){
$base->redirect('../login.php');
}else{
$user_s = $username;
}
}
$messages = array();
$avatar = $user->getAvatar($profile_user);
$usr = $user->getUsername($profile_user);
if($username == $profile_user && $user->isLoggedIn() && isset($_REQUEST['cust_title'])) {
$user->setTitle($username, htmlentities($_REQUEST['cust_title']));
}
if($user_s == $username && $user->isLoggedIn() && isset($_FILES['uploaded'])) {
if(isset($_REQUEST['delete'])) {
$user->setAvatar($username, '');
$messages[] = "Your avatar has been removed.";
} else {
$ok = false;
$info = getimagesize($_FILES['uploaded']['tmp_name']);
if ($_FILES['uploaded']['error'] !== UPLOAD_ERR_OK) {
$messages[] = ("Upload failed with error code " . $_FILES['uploaded']['error']);
} else if($info === FALSE) {
$messages[] = ("Unable to determine image type of uploaded file");
} else if(($info[2] !== IMAGETYPE_GIF) && ($info[2] !== IMAGETYPE_JPEG) && ($info[2] !== IMAGETYPE_PNG)) {
$messages[] = ("Not a gif/jpeg/png");
} else if($_FILES['uploaded']['size'] > 350000) {
$messages[] = "Your file is too large.";
} else if($_FILES['uploaded']['type'] == "text/php") {
$messages[] = "No PHP files";
} else {
$ok = true;
}
$target = md5(strtolower(trim($username))) .'.'. pathinfo($_FILES['uploaded']['name'])['extension'];
if($ok) {
if(move_uploaded_file($_FILES['uploaded']['tmp_name'], "../images/avatar/" . $target)){
$messages[] = "Your avatar has been uploaded. Please allow atleast 10 minutes for it to update.";
$user->setAvatar($username, $target);
} else {
$messages[] = "Sorry, there was a problem uploading your file.";
}
}
}
}
//retrieve posts/threads
$posts = $database->processQuery("SELECT `id`,`thread`,`username`,`timestamp`,`content` FROM `posts` WHERE `username` = ? AND ". time() ." - `timestamp` < 1209600 ORDER BY `id` DESC", array($user_s), true);
$threads = $database->processQuery("SELECT `id`,`parent`,`title`,`username`,`timestamp`,`content` FROM `threads` WHERE `username` = ? AND ". time() ." - `timestamp` < 1209600 ORDER BY `id` DESC", array($user_s), true);
//type:id:forum:timestamp:(if post)thread
$list = array();
foreach($posts as $post){
//get the thread's forum/parent
$t = $database->processQuery("SELECT `parent` FROM `threads` WHERE `id` = ? LIMIT 1", array($post['thread']), true);
$list[$post['timestamp']] = 'p:'.$post['id'].':'. $t[0]['parent'] .':'.$post['timestamp'].':'.$post['thread'].':'.$post['content'];
}
//add threads
foreach($threads as $thread){
$list[$thread['timestamp']] = 't:'.$thread['id'].':'.$thread['parent'].':'.$thread['timestamp'].':'.$thread['content'];
}
//now sort them
krsort($list, SORT_NUMERIC);
$r = $database->processQuery("SELECT * FROM `users` WHERE `username` = ?", array($profile_name), true);
?>
最佳答案
你最好的选择是使用:.htaccess 路由与 mod_rewrite
尝试在根文件夹中添加一个名为 .htaccess 的文件,并添加如下内容:
RewriteEngine on
RewriteRule ^/?Some-text-goes-here/([0-9]+)$ /account.php?username=$username
这将告诉 Apache 为该文件夹启用 mod_rewrite,如果它被询问一个与正则表达式匹配的 URL,它会在内部将其重写为您想要的内容:
请参阅 Niels Keurentjes 的回答:https://stackoverflow.com/a/16389034/3367509
如果您是 .htaccess 新手,请查找以下问题:What is .htaccess file?
关于php - 个人资料 url 无法获取结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48046620/
CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界. 这篇CFSDN的博客文章dede会员列表调用适用于企业、个人由作者收集整理,如果你对这篇文章有兴
如何在 MySQL 中创建个人组消息传递的消息对话架构。是否有可能创建以下场景。 已读/未读 如果用户删除对话不影响其他对话。(例如用户 A 和 B 有消息对话 A 清除消息,则 B 消息不应影响)
是否可以将一些数据存储在您的个人 github 页面的某个位置? 例如触发计数器的按钮。当您单击该按钮时,计数器会加 1。当其他用户访问该页面并单击该按钮时,计数器会再次加 1。 因此它将是页面上显示
我正在编写一个守护程序应用程序来使用 Outlook Mail REST API ( https://learn.microsoft.com/en-us/previous-versions/offic
我的电脑有两个外置声卡和一个在带有 windows vista 的主板上。在 Vista 中,它看到同一个声卡的两个实体,一个数字输出和一个模拟输出。 当我尝试播放带有数字音频的视频文件时,比如 dv
我有一个个人 Apple 开发者计划,我希望我的 friend 帮助我开发我的应用程序。我的 friend ,他自己有一个个人 Apple 开发者计划,所以他创建了一个新的 Apple ID,我将他的
我知道您可以编辑在 tumblr 博客上呈现所有帖子博客主页的 html/AngularJS。但是,有没有办法添加自定义 ...到个别职位?我想在逐个帖子的基础上做一些 javascript 的事情,
首先,我想提前感谢您在此问题上提供的任何帮助。 Valgrind下面粘贴的输出源自以下单行 C 代码。 for( j=i;jsize-1;j++ ) s3->delete_tail( s3 ); 但是
我有几个服务器在测试环境中运行我有一个 CA 并且可以认证一个页面。 是否可以为从我收到的 CA 派生的测试环境创建我自己的 CA? 最佳答案 您可以使用 java 开发工具 keytool 在将要运
我正在尝试实现 custom UITabbar . 我发现的任何东西都涉及在 tabbarItem 上覆盖一个矩形。那么有什么直接的方法可以做到这一点吗? 最佳答案 要更改单个 tabBar 项目的色
我读了git book但不知何故忘记了rule上面写着: Do not rebase commits that you have pushed to a public repository. If y
我在工作中使用 BitKeeper,我想在家里为自己做一个基本的代码备份(考虑到我很少备份) //我以前从未使用过 git,所以我需要很多帮助 我认为在我的家庭服务器上有一个 git 存储库可能是个好
我必须处理大量扫描的 ID,我需要从中提取照片以进行进一步处理。这是一个虚构的例子: 问题是扫描没有完全对齐(最多旋转 10 度)。所以我需要找到它们的位置,旋转它们并剪出照片。事实证明,这比我原先想
在下面的代码块中,有几个(故意的)错误,我的任务是找到它们并解释这些错误是否会导致编译代码时出现问题,或者至少会导致一些逻辑问题。 public class Person { private St
一个 friend 给了我这个问题作为挑战,我试图在 LeetCode 上找到这样的问题,但很遗憾没有找到。 问题 Given a line of people numbered from 1 to
我有一个绑定(bind)到 VSTS 的公司帐户,以及一个绑定(bind)到同一电子邮件地址但作为个人帐户的 Azure 帐户。 VSTS 帐户:[email protected] (公司账户) Az
我刚刚创建了一个新的 MVC 项目并创建了一个空 View 。我在尝试声明 View 的模型时编写了第一行代码,如下所示: @model Personal; 其中,personal 是实际存在的模型
我是Kotlin的新手,我尝试理解所示的交换两个变量值的简短代码。 我不明白为什么它和b在Also函数中具有不同的值。他们不使用十进制值2引用相同的内存地址吗? 谢谢。 var a = 1 var b
我正在尝试查询与类/个人相关的所有 AnnotationAssertion。 下面是我的来源片段: #Car
我们目前正在使用威瑞信的时间戳服务,但时间戳服务器时常变得不可用 - 主要是由于我们的 ISP 故障。 我们现在为我们构建的所有内容添加时间戳,甚至是简单的开发构建,因为我们在 Vista 中遇到了很
我是一名优秀的程序员,十分优秀!