我在哪里放置session_start函数?

时间:2019-12-07 12:33:12

标签: php html mysql session

我对PHP还是很陌生,我正在尝试找出当前方案中的最佳位置来放置session_start()函数。

我当前正在制作网站,要加载的第一页是index.php,它需要db.php连接到MySQL数据库,并且仅包含用于登录的html表单,并在出现错误消息时推送错误消息详细信息无效。

当用户输入用户名和密码时,数据将传递到checklogin.php,在此处使用准备好的语句,如果数据匹配,则会调用$_SESSION['username']并将用户重定向到{{1 }}。 (如果没有匹配项,它将重定向到portal.php并显示一条错误消息。)

我的问题是,应将index.html放在session_start()的开头(主要使用html代码,仅对index.php使用php,以连接到数据库并推送错误)如果凭据不匹配则显示消息。

还是我应该在require 'db.php';的开头(首次使用checklogin.php的地方)使用它?

1 个答案:

答案 0 :(得分:1)

  

session_start()函数必须是文档中的第一件事。在任何HTML标记之前。

使用网站上的会话信息的每个页面都必须通过session_start()函数进行标识。这将在每个PHP页面上启动一个会话。 session_start函数必须首先发送到浏览器,否则将无法正常工作。它必须在任何HTML标记之前。通常,放置它的最佳位置是在<?php标签之后。它必须在您打算使用的每个页面上。