简单PHP会话错误

简单PHP会话错误,php,css,session,Php,Css,Session,我确实发现了我的问题,但我真的很想知道为什么这是一个问题。我有两个form1.php页面,我在该页面上启动了一个会话并点击submit。然后我有一个指向session2.php的链接,该链接启动了该会话,并能够从form1.php中提取信息。我只是在学习会话,这是一个非常简单的练习来了解会话可以做什么 问题就在这里,我脑子里有一个样式表链接,它有一个空白的href,它是href=“#”,当它出现时,session2.php不会从form1.php启动会话并从表单中获取信息。如果没有样式标记中的h

我确实发现了我的问题,但我真的很想知道为什么这是一个问题。我有两个form1.php页面,我在该页面上启动了一个会话并点击submit。然后我有一个指向session2.php的链接,该链接启动了该会话,并能够从form1.php中提取信息。我只是在学习会话,这是一个非常简单的练习来了解会话可以做什么

问题就在这里,我脑子里有一个样式表链接,它有一个空白的href,它是href=“#”,当它出现时,session2.php不会从form1.php启动会话并从表单中获取信息。如果没有样式标记中的href=“#”,它可以正常工作,如果它是假的样式标记href=“something.css”,它也可以正常工作,但是href=”“也不能正常工作

为什么会这样?我只有这些,因为这是我为工作流制作的模板,也许我不能再在模板中包含css链接,以防止将来出现问题

如果我没有解释自己的话,你可以看到这个网站正在运行。

form1.php

<?php
session_start();
$_SESSION['name'] = $username;
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>

<head>
<title></title>
<!--//CSS STYLESHEETS//-->
<link rel="stylesheet" href="#" type="text/css">
</head>

<body>
<a href="sessions2.php">Go to session 2</a>
<!--form stuff is in here-->
</body


在发送标题之前,是否尝试将内容输出到页面?如果在调用session_start()之后放置样式表,会发生什么情况?

要想正常工作,需要先启动会话。听起来很简单,因为它是。当您说session_start时,php会首先寻找一个可接受的会话cookie来处理内容


注意:要使用基于cookie的会话,必须在将任何内容输出到浏览器之前调用会话_start()

您的第二页需要如下所示:

<?php
    session_start();
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
    <head>
       <title></title>
    </head>
    <body>
    <?php
        $username = $_SESSION['name'];
        echo $username;
    ?>
    </body>
</html>

请注意,
session\u start()
必须在任何内容打印到屏幕之前出现

根据上的注释:

注意:要使用基于cookie的会话,必须在将任何内容输出到浏览器之前调用会话_start()


而且,只有在form.php中,如果css链接中有一个空白的href,它才有意义。我在SESS2.2.PHP中有一个,但它不会引起一些问题。你可以发布一些源代码吗?。表单是在SeStEXSARToTK之后,我会这样做,这会涉及到为什么我不能在表格中有空白的HREF。PHP是第一个。不清楚如果<代码> <代码>对于HTML是有效的语法,但是你告诉浏览器它是XHTML,并且没有关闭标签,这可能会导致问题。试试
(注意斜杠)
<?php
    session_start();
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
    <head>
       <title></title>
    </head>
    <body>
    <?php
        $username = $_SESSION['name'];
        echo $username;
    ?>
    </body>
</html>