За последние 24 часа нас посетили 22532 программиста и 1275 роботов. Сейчас ищут 702 программиста ...

Проблема с include

Тема в разделе "Прочие вопросы по PHP", создана пользователем Вакиль, 2 апр 2019.

Метки:
  1. Вакиль

    Вакиль Новичок

    С нами с:
    31 янв 2019
    Сообщения:
    5
    Симпатии:
    0
    Приветствую форумчане. Я столкнулся с проблемой деления шаблона на части. Я разделил основной шаблон на части (секции) и распределили их по отдельным файлам и сделал подключение функцией include (о разнице include, include_once, require и т.д. я знаю). Основная проблема заключается в переменных. Я создал переменную в основном файле index.php, но она отказывается работать в подключаемых файлах.

    Пример.
    Основной файл index.php:
    PHP:
    1. <?php
    2. $name = "Тест";
    3. ?>
    4. <html>
    5.      <head>
    6.           <title>Тест</title>
    7.      </head>
    8.      <body>
    9.           <p>Его зовут: <?php include "body.php"; ?></p>
    10.      </body>
    11. </html>
    Основной файл index.php:
    PHP:
    1. <?php echo $name; ?>
    По идее он должен мне вывести: "Его зовут: тест", но он выводит: "Его зовут: ".

    Как мне правильно подключать файлы в основной так, чтобы переменные из основного файла так же работали и в подключаемом? Заранее спасибо.
     
  2. Artur_hopf

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

    С нами с:
    7 май 2018
    Сообщения:
    2.266
    Симпатии:
    405
    Вот например фаил user.php :
    PHP:
    1. <?php
    2. $name = "Васья";
    3. $sity = "Петьяград";
    И например другой фаил body.php
    PHP:
    1. <?php
    2. include "user.php";
    3. ?>
    4. <html>
    5.      <head>
    6.           <title>Тест</title>
    7.      </head>
    8.      <body>
    9.           <p>Его зовут: <?php echo  $name?></p>
    10.           <p>Живет он в : <?php echo  $sity?></p>
    11.      </body>
    12. </html>
    А в твоем пример два index.php и ни черта не понятно что происходит, повнимательнее.

    В твоем index.php бы происходило:
    PHP:
    1. <?php
    2. require "body.php";
     
    #2 Artur_hopf, 3 апр 2019
    Последнее редактирование: 3 апр 2019
  3. Вакиль

    Вакиль Новичок

    С нами с:
    31 янв 2019
    Сообщения:
    5
    Симпатии:
    0
    Я ошибся в тексте второй файл у меня body.php Что касается вашего варианта, у вас переменная объявлена внутри дочернего файла, а мне нужно наоборот, чтобы переменные из основного файла работали в дочернем.
     
  4. Artur_hopf

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

    С нами с:
    7 май 2018
    Сообщения:
    2.266
    Симпатии:
    405
    @Вакиль ну ладно, рано или поздно до вас дойдет =)
     
  5. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.076
    Симпатии:
    1.237
    Адрес:
    там-сям
    @Вакиль у тебя дважды написано
    хз что на самом деле как называется у тебя. если БЫ второй файл назывался body.php и он лежал БЫ вместе с index.php в корне сайта, то include отработал бы точно как ты ожидал. будь внимателен.
     
    Valick нравится это.