[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: require_once- для 2-х файлов
zvezda_t
Здравствуйте!
если я в зависимости от условий хочу загрузить
if(...)
require_once "mess1.php";
elseif(...)
require_once "mess2.php";


но в скриптах mess1.php и mess2.php есть поля с одинаковыми id
например:
mess1.php
<form method='post'>
<
include type='text' id='text1' />
...
<
include type='submit' name='k1' value='knopka1'>
</
form>


mess2.php
<form method='post'>
<
include type='text' id='text1' />
...
<
include type='submit' name='k2' value='knopka1'>
</
form>


будет ошибка? как можно её избежать не меняя id полей, их очень много просто...



Спустя 3 минуты, 42 секунды (25.05.2010 - 08:42) Basili4 написал(а):
zvezda_t
Если будет загружен только один файл из двух все будет ОК. Если 2 сразу будтут проблемы

Спустя 6 минут, 50 секунд (25.05.2010 - 08:49) zvezda_t написал(а):
Basili4
у меня файлы грузятся поочереди, при нажатии на одну кнопку первый файл грузится, при нажатие на другую кнопку второй
Если один загружен хоть раз... он же так и остаётся в скрипте=> будет не совместимость. так?
как можно избежать - этого?

я решаю проблему в лоб - для каждой из формочек отдельный скрипт.- которые повторяют друг друга только до момента загрузки require_once "mess1.php" или require_once "mess2.php"
а по уму как?

Спустя 1 час, 38 минут, 35 секунд (25.05.2010 - 10:27) Rand написал(а):
Цитата (zvezda_t @ 25.05.2010 - 05:49)
Если один загружен хоть раз... он же так и остаётся в скрипте=> будет не совместимость. так?

Если вы перезагрузите страницу, то ничего нигде не останется (когда вы нажимаете какую-то кнопку скрипт выполняется заново, сохраняется только то, что вы сами сохранили, например переменные сессии и переменные переданные через URL).
require_once служит для того, чтобы избежать повторного присоединения файла.
Например:
require_once('file.php'); // file.php будет вычислен и присоединен
require_once('file.php'); //эта строчка игнорируется


У вас:
if(...) //если условие1 истинно - то присоединить первый файл
require_once "mess1.php";
elseif(...) //если условие1 ложно (первый файл не загрузится) - то проверить условие2 и присоединить второй файл
require_once "mess2.php";

Спустя 5 часов, 13 минут, 53 секунды (25.05.2010 - 15:41) Unlikely написал(а):
Как мне кажется в этом случае лучше использовать include_once. Потому что если условие выполняется то только тогда грузится include_once, а require_once будет загружен в любом случае.

Спустя 3 минуты, 56 секунд (25.05.2010 - 15:45) Basili4 написал(а):
Unlikely

Сами по себе include и require отличаются способом реакции на отсутствие включамого файла. Если файла нет include генерирует предупреждение, но работа основного скрипта продолжается, require при отсутствии включамого файла останавливает работу скрипта.

Спустя 2 минуты (25.05.2010 - 15:47) Unlikely написал(а):
Basili4
В курсе smile.gif Но я же не об этом.

Спустя 5 минут, 20 секунд (25.05.2010 - 15:53) Basili4 написал(а):
тогда не пойму. Ты знаешь еще какие то различия ???? Просвети если не трудно

Спустя 3 минуты, 41 секунда (25.05.2010 - 15:56) Unlikely написал(а):
Basili4
"Конструкция require позволяет включать файлы в PHP сценарий до выполнения сценария PHP"

"При запуске (именно при запуске, а не при исполнении!) программы интерпретатор просто заменит инструкцию на содержимое файла имя_файла (этот файл может также содержать сценарий на PHP, обрамленный, как обычно, тэгами <? и ?>). Причем сделает он это непосредственно перед запуском программы (в отличие от include)."

Спустя 6 минут, 33 секунды (25.05.2010 - 16:03) Unlikely написал(а):
То есть require будет загружаться в любом случае игнорируя какой либо сценарий. А include будет включаться или нет в зависимости от условия.

Спустя 14 минут, 36 секунд (25.05.2010 - 16:17) Basili4 написал(а):
Unlikely
К.О. ?

Спустя 4 минуты, 54 секунды (25.05.2010 - 16:22) Unlikely написал(а):
Basili4
Непонятно smile.gif

Спустя 22 минуты, 53 секунды (25.05.2010 - 16:45) Basili4 написал(а):
Цитата (Basili4 @ 25.05.2010 - 12:53)
"Конструкция require позволяет включать файлы в PHP сценарий до выполнения сценария PHP"

"При запуске (именно при запуске, а не при исполнении!) программы интерпретатор просто заменит инструкцию на содержимое файла имя_файла (этот файл может также содержать сценарий на PHP, обрамленный, как обычно, тэгами <? и ?>). Причем сделает он это непосредственно перед запуском программы (в отличие от include)."


Ну из это го поста очевидно вот это
Цитата (Unlikely @ 25.05.2010 - 12:56)
То есть require будет загружаться в любом случае игнорируя какой либо сценарий. А include будет включаться или нет в зависимости от условия.


Я и справшиваю тебя ты Капитан Очевиность. К.О. ?

Спустя 1 час, 26 минут, 41 секунда (25.05.2010 - 18:12) Rand написал(а):
Unlikely, у тебя устаревшая информация. Начиная с версии PHP 4.0.2, require не читает файл, если тот находится внутри условного оператора, условие которого не выполняется.

Спустя 8 часов, 8 минут, 41 секунда (26.05.2010 - 02:21) Unlikely написал(а):
Rand
Странно. Где почитать об этом можно?

Спустя 7 минут, 4 секунды (26.05.2010 - 02:28) Unlikely написал(а):
Хм. действительно. Извиняюсь за дезинформацию smile.gif

Спустя 6 часов, 35 минут, 9 секунд (26.05.2010 - 09:03) Rand написал(а):
Ну, всё невозможно знать, для этого форум и существует wink.gif


_____________

Что ты сделал сегодня - для завтра?
"Приидите ко Мне вси труждающиеся и обремененнии и Аз упокою вы, возмите иго Мое на себе и научитеся от Мене яко кроток есмь и смирен сердцем и обрящете покой душам вашим, иго бо Мое благо и бремя Мое легко есть."(Мф. 11:28-30)
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.