Не удается получить доступ к переменным сеанса в php - PullRequest
0 голосов
/ 10 ноября 2018

Я пытаюсь использовать переменную сеанса $_SESSION['name'] на второй странице, т.е. review.php. но это ничего не дает мне на второй странице. Как использовать переменную Session на второй странице? Это index.php

  <?php 
    session_start();
    $connect = mysqli_connect('localhost','root','root','review');
     if(isset($_POST['submit']))
     {
        $id = $_POST['id'];
        $_SESSION['name']  = $id;
     }



   ?>

        <!DOCTYPE html>
        <html>
        <head>
            <title>
                login
            </title>
            <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css">
        </head>
        <body>
            <form action="review.php">
                <input type="text" name="id" placeholder="id">
                <input type="password" name="password" placeholder="password">
            <input type="submit" name="submit" class="btn btn-success">
        </form>
        </body>
        </html>

здесь review.php

<?php 

session_start();
$connect = mysqli_connect('localhost','root','root','review');
if(isset($_SESSION['name']))
{
    echo $_SESSION['name']; 
 }
 else{
    echo "nothing";
 }

?>

1 Ответ

0 голосов
/ 10 ноября 2018

У вас есть 2 проблемы:

  1. Вы отправляете отправленную форму на review.php, поэтому вы должны прочитать данные формы в review.php
  2. Вы не установили форму method,По умолчанию method равно GET, но вы прочитали $_POST переменную.( Какой метод HTTP используется по умолчанию для формы? )

Таким образом, вы должны изменить index.php следующим образом:

<?php 
    session_start();
    $connect = mysqli_connect('localhost','root','root','review');
    if(isset($_POST['submit']))
    {
        $id = $_POST['id'];
        $_SESSION['name']  = $id;
    }
?>

<!DOCTYPE html>
<html>
<head>
    <title>
        login
    </title>
    <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css">
</head>
<body>
    <form method="post">
        <input type="text" name="id" placeholder="id">
        <input type="password" name="password" placeholder="password">
    <input type="submit" name="submit" class="btn btn-success">
</form>
</body>
</html>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...