【发布时间】:2017-07-22 17:14:19
【问题描述】:
已经在互联网上进行了广泛搜索,感觉我越来越近了。 我想通过我的网站将用户名添加到 profile.php 页面。
目前,以下 URL (http://www.example.com/profile.php) 会显示必要的个人资料,但前提是您已登录。要访问其他会员个人资料,我需要知道他们的登录信息。
但是,我希望 profile.php 页面对特定用户是唯一的。例如http://www.example.com/profile.php?user=CoolDude
我已包含以下 PHP 以获取带有用户名的所需 URL,但出现错误“ERR_TOO_MANY_REDIRECTS”而不是配置文件
<?php
session_start();
require_once "includes/define.php";
$user_row = null;
$user = (isset($_GET['username'])) ? $_GET['username'] : $_SESSION['username'];
$query = "SELECT * FROM users WHERE username = $user";
$res = mysqli_real_escape_string("SELECT * FROM users WHERE user=".$_SESSION['username']);
$userRow = mysqli_fetch_array($res);
$user = $_GET['username'];
header("Location:athleteprofile.php?user=" . $_SESSION['username']);
if (!isset($_SESSION['username'] )) {
header("Location: login.php"); //login in AdminLogin.php
}
?>
不确定重定向哪里出错了?
【问题讨论】:
-
这个脚本总是重定向到“Location:ahtleteprofile.php?user="。你永远不会到达 if 语句。
-
if else 能解决吗?
-
用户名在这里是一个字符串,所以你的查询失败了。但是,我看不到您在哪里查询。您没有为此使用正确的功能。
-
这不是我的查询吗?
$query = "SELECT * FROM users WHERE username = $user"; -
不,这是无效的
mysqli_real_escape_string("SELECT *。而且这永远不会被查询$query = "SELECT * FROM users WHERE username = $user";