- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
个人资料页面使用 PHP 和 MySQL 来显示该项目。
有两件事我想问
promise :如果你能帮助我,我会在我的网站上承认你并将你列入学分;)
问题 1:
如何检查用户是否存在于数据库中,以及如何显示404消息?
问题 2:
因此,这里的主要错误是当您搜索用户时,它无法识别该用户。
用户“admin01”搜索自己并且个人资料页面正在运行,如果用户 admin01 搜索用户 admin02 ,页面不会提供用户信息。无论如何如何解决这个问题?
附加信息:
该网站将使用 GET 方法来检查 url,例如:profile.php?username=admin01
,它将显示用户信息。如果用户未登录,页面将重定向到登录页面。
代码:
<?php
ob_start();
session_start();
require_once 'dbconnect.php';
if( !isset($_SESSION['user']) ) {
header("Location: index.php");
exit;
}
// select loggedin users detail
$res=mysql_query("SELECT * FROM users WHERE userId=".$_SESSION['user']);
$userRow=mysql_fetch_array($res);
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Welcome - <?php echo $userRow['userName']; ?></title>
<link rel="stylesheet" href="assets/css/bootstrap.min.css" type="text/css" />
<link rel="stylesheet" href="style.css" type="text/css" />
</head>
<body>
<nav class="navbar navbar-default navbar-fixed-top">
<div class="container">
<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="http://www.codingcage.com">Prospekt | A Gaming Community</a>
</div>
<div id="navbar" class="navbar-collapse collapse">
<ul class="nav navbar-nav">
<li class="active"><a href="#">Dashboard</a></li>
<li><a href="../home.php">Home</a></li>
<li><a href="/forums.php">Forums</a></li>
</ul>
<ul class="nav navbar-nav navbar-right">
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">
<span class="glyphicon glyphicon-user"></span> Member - <?php echo $userRow['userName']; ?> <span class="caret"></span></a>
<ul class="dropdown-menu">
<li><a href="logout.php?logout"><span class="glyphicon glyphicon-log-out"></span> Sign Out</a></li>
</ul>
</li>
</ul>
</div><!--/.nav-collapse -->
</div>
</nav>
<div id="wrapper">
<div class="container">
<div class="page-header">
<h1>Prospekt | A Gaming Community</h1>
<h4> Dashboard | See your live ranking, stats, and more! </h4>
</div>
<?php
$username = $_GET['username'];
if (isset($username) === true && empty($_GET['username']) === false){
echo $username;
} else {
echo "Please search for a valid user!";
}
?>
<div class="row">
<div class="col-lg-12">
</div>
</div>
</div>
</div>
<script src="assets/jquery-1.11.3-jquery.min.js"></script>
<script src="assets/js/bootstrap.min.js"></script>
</body>
</html>
最佳答案
问题主要在于您选择使用的 HTML。它给人的印象是作为用户主页的页面。您需要用新的 HTML 替换该 HTML。您需要一些像这样的 PHP 代码
ob_start();
session_start();
require_once 'dbconnect.php';
if( !isset($_SESSION['user']) ) {
header("Location: index.php");
exit;
}
else {
/* find out if a user exists and raise 404 if not? Here's how */
$sql = 'SELECT COUNT(*) from users WHERE username = ? LIMIT 1';
$stmt = $conn->prepare($sql);
$stmt->bindParam(1, $_GET['username'], PDO::PARAM_INT);
$stmt->execute();
if($stmt->fetchColumn()) {
/* now an authenticated users is trying to see a profile page
on your website for a user who exists */
// CREATE THE APPROPRIATE HTML
}
else
{
header('HTTP/1.0 404 not found');
}
}
请注意,我已经使用了 PDO。不应使用 mysql_* 函数。您没有在当前代码中转义查询参数。致命的危险。
请注意,应删除原始代码中的以下行:
$res=mysql_query("SELECT * FROM users WHERE userId=".$_SESSION['user']);
$userRow=mysql_fetch_array($res);
关于php - 个人资料页面 PHP + MySQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38520569/
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 中遇到了很
我是一名优秀的程序员,十分优秀!