Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 21.11.2016, 20:26   #1
nikytt
Форумчанин
 
Аватар для nikytt
 
Регистрация: 15.08.2015
Сообщений: 173
По умолчанию session start нужно писать в каждой странице?

если пользователь логинится на юзер.php и при переходе на любую другую страницу может не напрямую с юзер, а просто клацнет на любое меню, чтобы сохранился логин.
Москва форум- общение на любые темы!!
nikytt вне форума Ответить с цитированием
Старый 21.11.2016, 21:37   #2
pompiduskus
юзер как все
Участник клуба
 
Аватар для pompiduskus
 
Регистрация: 10.01.2012
Сообщений: 1,586
По умолчанию

Скажем так.

Один раз вот для такой ситуации.



PHP код:
<?php
    
// paga_A.php
    
echo $_SESSION['test'];
?>

PHP код:
<?php
    
// paga_B.php
    
echo $_SESSION['test'];
?>

PHP код:
<?php
    
// paga_C.php
    
echo $_SESSION['test'];
?>

// =================================== =============

PHP код:
<?php

    
include('page_A.php'); // NOT-OK

    // main.php
    
session_start();
    
    include(
'page_A.php'); // OK
    
include('page_B.php'); // OK
    
include('page_C.php'); // OK

?>
<Дзен - Вся вселенная в тебе > | Резюме: https://ch3ll0v3k.github.io/CV/

Последний раз редактировалось pompiduskus; 21.11.2016 в 21:41.
pompiduskus вне форума Ответить с цитированием
Старый 21.11.2016, 21:50   #3
pompiduskus
юзер как все
Участник клуба
 
Аватар для pompiduskus
 
Регистрация: 10.01.2012
Сообщений: 1,586
По умолчанию

Вот реальный пример, просто упрощенный, и короткий.

Это файл конфиг. "config.php"
PHP код:
<?php

// ====================================================================
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Content-Type: text/html");
header("Content-Encoding: utf-8");
header("Expires: " date("r"time()+$expires_time )); 

// ====================================================================
define('ROOT',                  $_SERVER['DOCUMENT_ROOT']);
define('DEBUG',                 1);
define('SESSION',               1);
define('COOKIE',                0);

define('MK_SP_INI_CNF',         0);

define('CONF_EXISTS',           1);
define('LOGS',                  ROOT.'ctrl/logs/');
define('BR',                    "<br/>\n" );
define('NL',                    "\n" );
define('NR',                    "\n\r" );
define('T',                     "\t" );

define('_cDMY_',                date("D-M-Y") );
define('_cHis_',                date("H:i.s") );
define('_cDATE_',               _cDMY_.' / '._cHis_ );

// ====================================================================
require_once( ROOT.'ctrl/common/funcs.main.php' );
mk_log('require_once::funcs.main.php');

// ====================================================================
if( DEBUG ){
    
    
mk_log('DEBUG::enabled');
    
ini_set('display_startup_errors',1);
    
ini_set('display_errors'1);
    
error_reportingE_ALL );
    
//error_reporting( E_ALL | E_ERROR | E_NOTICE | E_WARNING );
    //error_reporting( E_ERROR );

}

if( 
SESSION ){
    
session_start();
    
mk_log('SESSION::enabled');

}

if( 
COOKIE ){
    
mk_log('COOKIE::enabled');

}


if( 
MK_SP_INI_CNF ){
    
mk_log('MK_SP_INI_CNF::enabled');
    
ini_set('session.save_handler','mm');
    
ini_set('memory_limit''256M');
    
ini_set('post_max_size''5M');
    
ini_set('upload_max_filesize''5M');


}

// ====================================================================
spl_autoload_register(function ($this_class) {

    
$this_class_comm ROOT.'ctrl/class/common/'.$this_class.'.php';
    
$this_class_ctrl ROOT.'ctrl/class/controllers/'.$this_class.'.php';

    if( 
file_exists$this_class_ctrl ) ){
        
mk_log$this_class_ctrl'access');
        require_once( 
$this_class_ctrl );

    }else if( 
file_exists$this_class_comm ) ){
        
mk_log$this_class_comm'access');
        require_once( 
$this_class_comm );

    }else{
        echo 
' COMM: ['.$this_class_comm.'] '.BR;
        echo 
' CTRL: ['.$this_class_ctrl.'] '.BR;
        throw new 
Exception("_INC_::[FATAL ERROR]"1);
        exit();

    }

});


// ====================================================================
$Conf       = new MArray();

$Conf->set('SITE', [
    
'lang' => 'en-UK',
    
'name' => '',
    
'title' => 'Tickets',
    
'charset' => 'utf-8',
    
'_ax_' => get_rand_int(5),

]);
// ====================================================================


?>

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

Теперь на всех страницах, подключенных после этого конфига, будет доступен супер глобальный массив $_SESSION.


PHP код:
<?php
    
// index.php

    
require_once('config.php');

    
mysql();
    include(...);
    ... 
   
и все остальное 


?>
<Дзен - Вся вселенная в тебе > | Резюме: https://ch3ll0v3k.github.io/CV/
pompiduskus вне форума Ответить с цитированием
Старый 21.11.2016, 22:12   #4
nikytt
Форумчанин
 
Аватар для nikytt
 
Регистрация: 15.08.2015
Сообщений: 173
По умолчанию

спасибо
Москва форум- общение на любые темы!!
nikytt вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Примеры быдлокода, или как не нужно писать программы JUDAS Свободное общение 61 19.06.2018 09:15
шапка на каждой странице при печати johny_03 Microsoft Office Excel 1 12.01.2015 22:23
Как делать новости на каждой странице aank10 HTML и CSS 3 22.11.2013 10:56
печатать на каждой странице точно 20 столбцов roborrr Microsoft Office Excel 0 29.04.2011 12:50
Я ненавижу Perl & мне нужно на нём писать clk Свободное общение 15 29.03.2011 11:40