php - 如何在 href 中传递 $_SESSION 凭据以访问特定的 HTML 页面?
问题描述
我需要在 a 的 href 中从 php (ValidationLogin.php) 传递一些变量(电子邮件、密码和 ID),以访问特定于登录用户的 HTML 页面。你能告诉我如何将这个变量传递给我的href吗?不要担心 SQL 注入,我稍后会修复它...
代码:ValidationLogin:(我将我的电子邮件和密码传递到会话中以在后面使用它)
<?php
// connect to the database
$db = new mysqli('', '', '', ''); //This is normaly filled and not empty
if ($db->connect_error)
{
die("Connection failed: " . $db->connect_error);
}
$arr = array();
$Email = $_REQUEST['email'];
$Passwd = $_REQUEST['passwd'];
$Query = "SELECT Passwd FROM place WHERE Email = '$Email'";
$DBResult = mysqli_query($db, $Query);
$DB_Hashed_Passwd = mysqli_fetch_assoc($DBResult);
$Hashed_Passwd = $DB_Hashed_Passwd["Passwd"];
if (password_verify($Passwd, $Hashed_Passwd))
{
$Query = "SELECT Id, Firstname FROM place WHERE Email = '$Email'";
$DBResult = mysqli_query($db, $Query);
$Place = mysqli_fetch_assoc($DBResult);
array_push($arr,$Place["Id"]);
array_push($arr,$Place["Firstname"]);
session_start();
$_SESSION['email'] = $Email;
$_SESSION['passwd'] = $Passwd;
echo json_encode($arr);
}
else
{
echo json_encode(null);
}
mysqli_close($db);
?>
index.php:(在此页面上,我有一个将我重定向到特定页面的按钮,因此我需要在 href 中传递电子邮件和密码-> 此凭据在会话中处于活动状态,但我不知道如何传递他们进入href):
<?php
$email = $_SESSION['email'];
$passwd = $_SESSION['passwd'];
if(isset($_SESSION['email']))
{
echo '<a href="./DisplayDrink.php?email=$email&passwd=$passwd"><button><i class="fa fa-edit"></i> Manage My Drinks</button></a>';
}
?>
有人可以告诉我如何解决它或告诉我更好的吗?
多谢你们!
解决方案
会话变量应该可用,您不必将它们作为参数传递。
session_start();
应该在检查它们之前调用:
<?php
session_start();
$email = $_SESSION['email'];
$passwd = $_SESSION['passwd'];
if(isset($_SESSION['email'])) {
echo '<a href="./DisplayDrink.php?email=$email&passwd=$passwd"><button><i class="fa fa-edit"></i> Manage My Drinks</button></a>';
}
?>
推荐阅读
- scala - SBT如何在匹配的文件夹中获取文件名?
- c# - 自定义 404 页面不会被重定向
- python - 如何更改实际的浮点格式 python 存储?
- facebook - Facebook API 无法检索潜在客户。获取错误代码 100 和错误子代码 33
- linux - 如何在 Oracle Linux Server 6.8 上更改没有名称的时区?
- excel - 如何在excel或VBA中搜索带有多个“-”的项目?
- python - 如何使用 attrs 定义数组对象?
- android - Jitpack 存储库检索到错误版本的依赖项
- mysql - 在mysql中的列中查找逗号分隔字符串中第一个非负整数的索引
- python - 使用 LU 分解实现 Ax = b 求解器时遇到问题