Heim > Backend-Entwicklung > PHP-Tutorial > session_start应该写在什么位置比较合适

session_start应该写在什么位置比较合适

WBOY
Freigeben: 2016-06-06 20:50:27
Original
1326 Leute haben es durchsucht

首先我知道应该是在头部 比如:

<code>session_start();
$_SESSION['name'] = 'levi';
</code>
Nach dem Login kopieren
Nach dem Login kopieren

但是如果有多个文件调用,且都用到了sessionstart,怎么办? 这样sessionstart就被多次调用了

<code>// set.php
session_start();
$_SESSION['name'] = 'levi';

// conr.php
include 'set.php';

session_start();
echo $_SESSION['name'];
</code>
Nach dem Login kopieren
Nach dem Login kopieren

我怎样确保session_start只被调用一次,且是开头呢?

同理还有header()

回复内容:

首先我知道应该是在头部 比如:

<code>session_start();
$_SESSION['name'] = 'levi';
</code>
Nach dem Login kopieren
Nach dem Login kopieren

但是如果有多个文件调用,且都用到了sessionstart,怎么办? 这样sessionstart就被多次调用了

<code>// set.php
session_start();
$_SESSION['name'] = 'levi';

// conr.php
include 'set.php';

session_start();
echo $_SESSION['name'];
</code>
Nach dem Login kopieren
Nach dem Login kopieren

我怎样确保session_start只被调用一次,且是开头呢?

同理还有header()

这说明你的网站架构设计不合理。一个通用的做法是,通过rewrite保证所有的页面都只有一个入口,然后解析url来完成分发;页面的组装(包括header,尤其是其中的cookie)也应该交给某个模板引擎在处理流程的末尾完成。这样就可以保证session_start()只调用一次,header也不会被混用。

通常放在公共文件头部,这样各页面调用的时候就不会冲突了, 设置时区,编码,开启ob等操作一般都放那儿, 例如typecho的Widget_Init类的execute入口方法.

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage