Как я могу передать учетные данные $ _SESSION в href для доступа к указанной странице c HTML? - PullRequest
1 голос
/ 26 апреля 2020

Мне нужно передать из php (ValidationLogin. php) некоторые переменные (адрес электронной почты, пароль и идентификатор) в href для доступа к странице HTML, которая задает c для вошедшего в систему пользователя. пользователь. Ребята, вы можете сказать, как передать эти переменные в мой href? Не беспокойтесь о SQL -Injection, я исправлю это позже ...

CODE: 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: (на этой странице у меня есть кнопка, которая перенаправляет меня на указанную c страницу, поэтому мне нужно передать адрес электронной почты и пароль в 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>&nbsp; Manage My Drinks</button></a>';
    }

?>

Может кто-нибудь сказать мне, как это исправить или сказать что-то лучше?

Спасибо, ребята!

1 Ответ

2 голосов
/ 26 апреля 2020

Сеансовые переменные должны быть доступны, и вам не нужно передавать их в качестве параметров.

Просто вызовите 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>&nbsp; Manage My Drinks</button></a>';
    }
?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...