Php 跨页面的会话变量

Php 跨页面的会话变量,php,variables,session,Php,Variables,Session,所以我创建了一个登录表单,它将变量传递给login.php Login.php <?php { require_once("db_const.php"); $mysqli = new mysqli(DB_HOST, DB_USER, DB_PASS, DB_NAME); # check connection if ($mysqli->connect_errno) { echo "<p>MySQL error no {$mys

所以我创建了一个登录表单,它将变量传递给login.php

Login.php

<?php
{
    require_once("db_const.php");
    $mysqli = new mysqli(DB_HOST, DB_USER, DB_PASS, DB_NAME);
    # check connection
    if ($mysqli->connect_errno) {
        echo "<p>MySQL error no {$mysqli->connect_errno} : {$mysqli->connect_error}</p>";
        exit();
    }

    $email = $_POST['email'];
    $password = $_POST['password'];

    $sql = "SELECT * from patient_details WHERE email LIKE '{$email}' AND password LIKE '{$password}' LIMIT 1";
    $result = $mysqli->query($sql);
    $row=mysqli_fetch_array($result);

    if (!$result->num_rows == 1) {
        echo "<p>Invalid username/password combination</p>";
    } else {
        $_SESSION['email'] = $row['email'];
        header('Location: dashboard.php');

    }
}
?>      
登录检查工作正常。。。但是会话变量不起作用。所以我尝试在login.php中回显它。它在那里工作。。但它在另一页上不起作用。在本例中,dashboard.php

<?php
// page2.php

session_start();

echo 'Welcome to page #2<br />';

echo $_SESSION['email']; // green

?>
Dashboard.php

<?php
// page2.php

session_start();

echo 'Welcome to page #2<br />';

echo $_SESSION['email']; // green

?>

您正在呼叫会话_start;关于login.php?在写入或读取会话之前,以及在将任何输出发送到浏览器之前,您必须启动会话。您是否也需要在login.php上调用session_start?我应该将会话_start放在何处;在login.php上?只需在易受攻击后将其放在顶部即可。这是双重的坏,因为你正在做一个登录系统,一个医疗系统。。。