2013-12-01 3 views
1

Итак, я начинаю свой собственный сайт, и у меня есть файл входа в систему. Мне просто нужно выяснить, где поставить session_start, чтобы пользователь вошел в систему. Где именно я помещаю session_start? Правильно ли я в файле входа? Или где я могу это выразить?Где именно я помещаю SESSION_START?

Спасибо за помощь

+0

Вы имеете в виду «где в файл, я помещаю это "? Или «какие файлы должны иметь' session_start() '?? – EthanB

+0

Какие файлы должны иметь это? – user3053564

+0

Существует также руководство с примерами, демонстрирующими использование, http://www.php.net/manual/en/book.session.php – mario

ответ

6

Поставил после PHP открывающего тега <?php ... как этот

<?php 
session_start(); 
//... your code.... 


//more code.... 

Читать больше сессий с Руководством PHP. Here

Примечание: Кроме того, имейте в виду, что вам нужно позвонить session_start(); на каждой странице, если вы делаете использование переменных сеанса.

3

Положите его сразу после открывающего тега, либо заголовки будут были отправить, и сессия, AFAIK, должен быть первый заголовок послал

<?php 
session_start(); 
//session code here 
?> 
2

Сразу после <?php тега.

Убедитесь, что перед этой функцией нет выхода NO (даже символ пробела или около того).

0

session_start() должен идти в каждую страницу/файл, который ссылается на $_SESSION (очевидно, Войти страница включена).

Потому что вы должны называть его только один раз, я обычно пишу метод lazy_session_start() (и, как правило, чтобы положить его в заголовочном файле):

/** 
* Lazily calls session_start (to prevent warnings). 
*/ 
function lazy_session_start() { 
    if (!isset($_SESSION) || !is_array($_SESSION)) { 
    session_start(); 
    } 
} 

Это можно было бы назвать как так (прежде чем вам нужно использовать $ _SESSION):

<?php 
//you must either declare "lazy_session_start" function 
//or import the file containing the function definition. 
require_once('lazy_session_start.php'); //or something. 

lazy_session_start(); 
//... you may now use the $_SESSION array. 
2

Вы хотите положить session_start(); в верхней части страницы перед любым другим кодом. Однако, если вы используете, чтобы облегчить вашу жизнь, лучше всего поставить его на самый верх файла, который включен во все файлы. Например, когда я создаю веб-сайт, я помещаю весь код заголовка и нижнего колонтитула в отдельные файлы и включаю их в другие файлы. У меня также есть файл функций, который включен в каждую другую страницу веб-сайта. Так что для моего индексного файла, это может выглядеть примерно так:

<?php include_once("includes/header.php"); ?> 

<div id="content"> 
    Website Content 
</div> 

<? include_once("includes/footer.php"); ?> 

Затем мой файл заголовка начинал как:

<?php include_once("includes/functions.php"); ?> 
<!doctype html> 
<html> 
    <body> 

Тогда в верхней части моей функции файла:

<?php session_start(); 

[functions] 
?> 

Таким образом, код файлов функций запускается первым, поэтому первый стартовый код сеанса является первым. Зачем? Перед началом сеанса вы не можете получать какие-либо данные в браузере.

1

лучше есть отдельный файл, кроме вашего логина, чтобы сделать некоторые распространенные вещи. Я думаю, что ваш файл для входа будет, как правило, обрабатывать проверку и проверку прав пользователей.поэтому не включайте этот файл на каждую страницу.

есть еще один файл, который

  • включает в себя все необходимые файлы
  • сохраняет все Analytic скрипты
  • инициализирует глобальные переменные

и этот файл вы можете начать с <?php session_start(); ?>

Смежные вопросы