Forum Webscript.Ru

Программирование => PHP => Тема начата: MXM от 13 Ноября 2003, 16:48:01

Название: не выполеняется скрипт из-за другого скрипта
Отправлено: MXM от 13 Ноября 2003, 16:48:01
Ситуация: два скрипта (1-ый верхний и 2-ой нижний), размещены в html-страницу как вставки, оба работающих на 100%, проверял каждый отдельно. Но как только они оказываются вместе на одной странице, один из них (2-ой) не работает. Делаю еще вот так: полностью комментирую 1-ый, после этого 2-ой с легкостью начинает работать. Что это может быть? В чем ошибка?
Название: не выполеняется скрипт из-за другого скрипта
Отправлено: AliMamed от 13 Ноября 2003, 16:55:15
это один скрипт а не два
Название: не выполеняется скрипт из-за другого скрипта
Отправлено: tserbis от 13 Ноября 2003, 17:05:29
AliMamed, он забыл указать подробности (http://phpclub.net/talk/showthread.php?threadid=42798) .
MXM, так, имхо, честнее.
Название: не выполеняется скрипт из-за другого скрипта
Отправлено: MXM от 13 Ноября 2003, 17:05:43
AliMamed, может я и не прав, пусть будет один скрипт, хотя все равно: объясни почему один скрипт, ведь в моем случае у каждого скрипта своя логика. Хочу также сказать, что ошибки на экран не выскакивают.
Теперь о логике скриптов:
<<<Первый скрипт>>>, открывает файл (текстовую базу данных, далее ТБД), сверяет там между собой пару значений элементов массива, и затем выводит тот или иной файл... первый файл, скрипт, выводит на экран определенную по условию строку из ТБД; второй файл, скрипт, также по некоторому условию, выводит на экран информацию из ТБД путем функции rand.
<<<Второй скрипт>>>получает выбранную переменную из формы, при совпадении этой переменной со значением элемента массива одной из строк ТБД, выводит информацию.

Вот вроде и всё.
Название: не выполеняется скрипт из-за другого скрипта
Отправлено: Макс от 13 Ноября 2003, 17:10:12
фраза "не работает" - не несет никакой информации которая помогла бы нам найти решение.
Судя по топику на ПХПклубе у тебя переменные имеют одинаковое значение и в первом и во втором скрипте. Исправь это. Либо принудительно инициализируй их и в верхней части и в нижней.
Название: не выполеняется скрипт из-за другого скрипта
Отправлено: MXM от 13 Ноября 2003, 17:11:10
tserbis ,
Первый код:

$fp=fopen("text/cmax.txt","r");
$fl=0;
$i=0;
while(!feof($fp))
{$cars[$i]=fgets($fp,10000);
$pt=explode(";",$cars[$i]);
if($pt[17]==1&&$pt[14]==1) $fl=1;
$i++;}
fclose($fp);

if($fl>0) {include("l.php");}// 2-ой раз комментирую
else {include("lr.php");} // 1-ый раз комментирую

Пробывал комментировать не полностью.
Первый раз комментирую (последнюю строку), результат:
1 скрипт работает, 2-ой нет.
Второй раз комментирую (только предпоследнюю строку), результат:
бело-чистый экран, без вывода ошибок
Третий раз комментирую, обе строки, результат:
1 скрипт не работает, ошибки не пишет... 2-ой скрипт работает
Название: не выполеняется скрипт из-за другого скрипта
Отправлено: MXM от 13 Ноября 2003, 17:14:44
Макс, подскажи как? я просто не могу понять где это происходит...
Название: не выполеняется скрипт из-за другого скрипта
Отправлено: Макс от 13 Ноября 2003, 17:17:40
> Второй раз комментирую (только предпоследнюю строку), результат:

в этом случае будет ошибка синтаксиса.
Значит у тебя вывод ошибок отключен. Вставь в скрипт
error_reporting(E_ALL);
ini_set("display_errors", "On");
Название: не выполеняется скрипт из-за другого скрипта
Отправлено: AliMamed от 13 Ноября 2003, 17:19:09
дело в том, что оба кода - и тот который внизу страницы и тот который вверху страницы отрабатываются на сервере последовательно, но до отдачи ответа клиенту. поэтому по сути это один скрипт.
причины поведения наверняка кроются в том - что в первом куске кода есть переменная с таким же названием как у второго. а так как "логика у них у каждого своя" наличие в этой переменной значения, присвоенного первым куском кода, не позволяет второму правильно отработать.
Название: не выполеняется скрипт из-за другого скрипта
Отправлено: MXM от 13 Ноября 2003, 17:23:17
Макс
Вставил его в самое начало кода... Макс, прости, в php я новичок.
Ошибка не выскочила, в логе ничего...(((
Название: не выполеняется скрипт из-за другого скрипта
Отправлено: Макс от 13 Ноября 2003, 17:28:36
что делает файл l.php ?
Название: не выполеняется скрипт из-за другого скрипта
Отправлено: MXM от 13 Ноября 2003, 17:41:07
Цитировать
Макс:
что делает файл l.php ?

этот файл, скрипт, в цикле ищет строку в ТБД, у которой, по условию, должны совпасть определенные значения элементов массива, если такая строка найдена, то скрипт выводит её на экран в определенном html-формате.
Название: не выполеняется скрипт из-за другого скрипта
Отправлено: MXM от 13 Ноября 2003, 17:44:24
Цитировать
AliMamed:
дело в том, что оба кода - и тот который внизу страницы и тот который вверху страницы отрабатываются на сервере последовательно, но до отдачи ответа клиенту. поэтому по сути это один скрипт.

понял...
Цитировать

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

вот мне бы ее найти...
Название: не выполеняется скрипт из-за другого скрипта
Отправлено: Макс от 13 Ноября 2003, 17:45:35
попробуй в нем строки комментировать
Название: не выполеняется скрипт из-за другого скрипта
Отправлено: MXM от 13 Ноября 2003, 17:53:10
Цитировать
Макс:
попробуй в нем строки комментировать

где именно, в первом скрипте или во втором...
Название: не выполеняется скрипт из-за другого скрипта
Отправлено: Макс от 13 Ноября 2003, 17:55:35
он в обоих скриптах используется ?
Название: не выполеняется скрипт из-за другого скрипта
Отправлено: Макс от 13 Ноября 2003, 17:56:17
если небольшой файл - покажи его.
Название: не выполеняется скрипт из-за другого скрипта
Отправлено: MXM от 13 Ноября 2003, 19:55:41
ВСЁ... я разобрался... Хочу, для начала, сказать спасибо всем! Но большой кусочек спасибо преподношу Макс\'у и  AliMamed\'у. Итак, в чём суть, из некой формы, передовалась переменная с определенным значением, 2-му скрипту (который нижний), а как сказал:
Цитировать
AliMamed:
дело в том, что оба кода - и тот который внизу страницы и тот который вверху страницы отрабатываются на сервере последовательно

соответсвенно, в 1-ом скрипте, после выполнения условия, инклюдился l.php файл, в котором и содержалась индиетичная переменная с таким же названием, как и у той, которая передовалась из формы 2-му скрипту. Об этом упоменал:
 
Цитировать
AliMamed:
причины поведения наверняка кроются в том - что в первом куске кода есть переменная с таким же названием как у второго. а так как "логика у них у каждого своя" наличие в этой переменной значения, присвоенного первым куском кода, не позволяет второму правильно отработать.

Считаю, что тема закрыта, а я узнал много нового. Спасибо.