За последние 24 часа нас посетили 15850 программистов и 1641 робот. Сейчас ищут 1047 программистов ...

Структура кода, и session_start()

Тема в разделе "PHP для новичков", создана пользователем lamerz, 11 июн 2008.

  1. lamerz

    lamerz Активный пользователь

    С нами с:
    11 июн 2008
    Сообщения:
    2
    Симпатии:
    0
    Здравствуйте!
    Столкнулся с проблемой...

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

    Структура такова...

    index.php
    PHP:
    1. <?
    2. ...пхп код...
    3. require_once("./inc/login_form.php");
    4. require_once('./inc/forum_top.php');
    5. //
    6. ini_set('display_errors','On');
    7. ...пхп код...
    8. ?>
    9. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    10.     "http://www.w3.org/TR/html4/loose.dtd">
    11. <html xmlns="http://www.w3.org/1999/xhtml">
    12. <HEAD>
    13. далее идет HTML код...
    14. и посредине HTML кода строчка
    15. <td valign="top"><?require("./inc/engine.php");?></td>
    в этом engine.php свой код, с условиями и с инклудом на еще один файл, далее инклуд на еще один файл, где работа с шаблонами и т.п.

    Получается код написан так, что require("./inc/engine.php"); входит в средину кода, а там храниться основной движек да и вообще система сайта... Знаю, многие скажут, что это порнография, ну я начал так писать, не задумываясь об этом (((... А с ООП я пока не дружу, к сожалению... так вот, т.к. это находиться по средине, я не могу использовать session_start(); Даже если я стартану сессию в index.php, все равно, там в глуби engine.php, через условия определяется
    PHP:
    1. $_SESSION['login'] = $login_chk_db;
    2. $_SESSION['password'] = $password_chk_db;
    3. $_SESSION['mail'] = $mail_chk_db;
    ...
    т.е. я то сессию стартану, ну т.к. это средина, я в нее нечего запихнуть не смогу...

    Подскажите, пожалуйста, что можно сделать в таком случае...
    Переписывать код не хочется, ибо там придется его переписывать практически с нуля (...
     
  2. Kreker

    Kreker Старожил

    С нами с:
    8 апр 2007
    Сообщения:
    5.433
    Симпатии:
    0
    Для сайта совсем не обязателен ООП.

    Очень плохо. Систему надо заранее планировать, а не писать "как получиться".

    Сессию стартовать в начале, а дописывать в нее переменные можно когда угодно, в любом инсклуде, причем в инклудах не нужно стартовать сессию.
     
  3. lamerz

    lamerz Активный пользователь

    С нами с:
    11 июн 2008
    Сообщения:
    2
    Симпатии:
    0
    уже разобрался.... чего-то взбрело мне в голову, что данные в сессию пихать нужно, тоже в начале....
    бывают у мну такие глюки)