index.php中未定义的$ _SESSION变量

时间:2018-08-05 08:08:45

标签: php session-variables

尽管stackoverflow中已经有几篇关于“未定义的_SESSION变量”问题的旧文章,但就我而言,该问题仅发生在我的macbook而不是Windows机器上,因此请将此问题保留在此处:

index.php

 <?php session_start(); ?>
    <!DOCTYPE html>
    <html lang ="en">
    <head>
        <meta charset="utf-8" />
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <title>Page Title</title>
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <link rel="stylesheet" type="text/css" href="main.css" />
    </head>
    <body>
        <div>
            <h1>Welcome to the Great Number Game!</h1>
            <P>I am thinking of a number between 1 and 100</p>
            <p>Take a guess!</p>
        </div>
        <div style="background-color: <?php if (isset($_SESSION['color'])) {
        print $_SESSION['color'];
    }?>; ">
 <form action="process.php" method="post">
            <input type="text" placeholder="Guess Number" name="user_guess" id="input_form"><br>
            <input type="submit" name="submit" value="Submit">
        </form>

$ _ SESSION ['color']在第二个php文件(process.php)中定义。 每当在服务器上打开index.php时,它都会发出“未定义的_SESSION ['color']变量......”之类的警告,但不会在Windows计算机上显示。 我通过添加以下内容来解决该问题:

<?php if (isset($_SESSION['color'])) {
            print $_SESSION['color'];
        }?>;

我需要在index.php文件中使用$ _SESSION ['color']来防止警告的地方。如果我在index.php中使用许多$ _SESSION变量,那么我将不得不为所有这些变量提供此if(isset()语句,但这并不是很方便。有什么好的建议吗?

0 个答案:

没有答案