让PHP会话正常工作

让PHP会话正常工作,php,html,Php,Html,大家好首先我在整个周末都在论坛和其他页面做了大量的研究,最后我放弃并发布了它 代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <me

大家好首先我在整个周末都在论坛和其他页面做了大量的研究,最后我放弃并发布了它

代码如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <title>El primer script</title>

    </head>

    <body>
        <div id="wrapper">
            <form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">
                <p>numero: <input type="text" name="number" /></p>
                <p><input type="submit" value="start" /></p>
            </form>
        </div>
        <?php

            if(!isset($_SESSION['CREATED'])) {
                session_start();
                $_SESSION['aux'] = 1;

            } else {
                $_SESSION['aux'] = 0;
            }

            if(isset($_SESSION['CREATED'])){
                var_dump($_SESSION['aux']);
            }       
        ?>
    </body>

</html>

El primer脚本

无论何时使用全局
$\u会话
,都必须在页面顶部声明
SESSION\u start()

尝试使用:

<?php session_start(); ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>El primer script</title>

</head>

<body>
    <div id="wrapper">
        <form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">
            <p>numero: <input type="text" name="number" /></p>
            <p><input type="submit" value="start" /></p>
        </form>
    </div>
    <?php

        if(!isset($_SESSION['CREATED'])) {
            $_SESSION['aux'] = 1;

        } else {
            $_SESSION['aux'] = 0;
        }

        if($_SESSION['CREATED'])){
            var_dump($_SESSION['aux']);
        }       
    ?>
</body>

El primer脚本

如果定义了会话,则在测试条件后调用了session\u start(),在调用if语句之前放置,这不会显示任何内容,
$\u session['CREATED']
永远不会被设置。Lawrence是对的,将session\u start()放在if条件之前,然后初始化$\u session['CREATED']在第一个if条件的第一个语句中使用布尔值true或任何您想要的值。我知道这没有定义,但是如果我在第一个if语句中初始化它,它不会有什么区别,对吗?它应该在if开始之前进行初始化,不是吗?如果您在开发时打开了错误显示,您可能会得到一个错误,这将有助于您在这几天前解决。您可能希望删除另一个会话\u start。您现在有两次会话\u start…非常感谢!,除了劳伦斯和DomainFlag指出的一些错误之外,他们也犯了这个错误。不必在页面的最顶端,就在任何输出之前。你所说的任何输出是什么意思?如果我把这个部分放在最上面,它就不起作用了,但是当我把它放在最上面的时候,就像他建议的那样,它终于起作用了,在这个例子中,在哪里可以放置session_start()?