PHP保护$\u GET
我不知道为什么这不起作用。如果?Session=2不是您提供的,则您将返回您的帐户 这是我的代码:PHP保护$\u GET,php,mysql,Php,Mysql,我不知道为什么这不起作用。如果?Session=2不是您提供的,则您将返回您的帐户 这是我的代码: <?php $hosts = $mysql->query("SELECT * FROM user_host WHERE uid = '" . $_SESSION['id'] . "'"); $hostsFetch = $hosts->fetch_assoc(); $userq = $mysql->query("SELECT * FROM users WHERE id =
<?php
$hosts = $mysql->query("SELECT * FROM user_host WHERE uid = '" . $_SESSION['id'] . "'");
$hostsFetch = $hosts->fetch_assoc();
$userq = $mysql->query("SELECT * FROM users WHERE id = '" . $_SESSION['id'] . "'");
$userf = $userq->fetch_assoc();
if (isset($_GET['session'])) {
$_SESSION['siteid'] = $mysql->real_escape_string($_GET['session']);
header('Location: ./home');
}
if (trim($_SESSION['siteid']) == '') {
$_SESSION['siteid'] = $userf['default'];
}
$hosts2 = $mysql->query("SELECT * FROM user_host WHERE id = '" . $hostsFetch['id'] . "'");
$hosts2Fetch = $hosts2->fetch_assoc();
请记住,PHP中的所有内容都区分大小写。您可以使用查询字符串会话
,但在代码中您不能引用会话
,必须使用会话
您提到了?使用了Session=2
,但在代码中您指的是$\u GET['Session']
。这两种情况应该匹配。session_start()代码>?有一个会话开始,这是我页面上的一小段代码你们总是忽略它。是的,每一次。但是你忘记了session_start()
行,却设法包含了所有其他内容,包括以及你所说的Mr47no是什么意思?不是所有内容都区分大小写。数组键和变量名是,但函数名不是$fOO=8
是不同的变量,但是fOO()
和fOO()
是同一个函数。@Mr47不管代码值是多少=“/home?session=@Mr47:PHP的奇妙乐趣,其中一致性是最重要的anathema@meda也许这是从另一个页面传来的,但情况与此不符,但您可能是正确的。如果正确答案出现,我会删除我的。
if ($hosts2Fetch['uid'] != $_SESSION['id']) {
$_SESSION['siteid'] = $userf['default'];
}
$host = $mysql->query("SELECT * FROM user_host WHERE uid = '" . $_SESSION['id'] . "'");
while ($item = $host->fetch_assoc()) {
?>
<option
value="./home?session=<?php echo $item['id']; ?>" <?php echo($_SESSION['siteid'] == $item['id'] ? 'selected' : '') ?>><?php echo $item['name'] . ' - ' . $item['domein']; ?></option>
<?php
}
?>