Модераторы: skyboy, MoLeX, Aliance, ksnk

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> функция возвращает пустые значения 
V
    Опции темы
Feldmarschall
Дата 8.7.2008, 09:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок
****


Профиль
Группа: Участник
Сообщений: 2641
Регистрация: 11.12.2007

Репутация: 22
Всего: 32



Я прекрасно знаю, что такое хередок, можно мне не объяснять =)
Форум IPB давно от такой системы отказался. Поскольку это не шаблон, а винегрет в своем худшем виде.
Вместо простого и наглядного файла шаблона мы имеем пхп код, в котором лежат функции, в которых лежит хередок. Игла в яйце, яйцо в утке, утка в зайце, заяц в офиге...
А теперь мы попробуем со всей этой фигней взлететь, ага.

По поводу твоего кода.
Я написал, в самом начале:
Цитата(Feldmarschall @  8.7.2008,  08:07 Найти цитируемый пост)
Где проверочный код, чтобы мы тоже могли увидеть, что "все пустое", а это тебе не померещилось?

Не "можно кнопку нажать". Не "не возвращаются" (я, наконец-то, понял, что ты имеешь в виду, постоянно повторяя это слово).
А код.
Простой код, который иллюстрирует твою проблему. И который можно воспроизвести.
Почему бы не сократить HTML до одной строчки? Кто тебе мешает это сделать? Почему нельзя последовательно упрощать код, чтобы в конечном итоге добраться до источника проблем, как это делают все программисты, в процессе отладки?

Где, в конце, концов, вывод этого print_r($error)?
и почему она должна что-то содержать?
PM   Вверх
Gold Dragon
Дата 8.7.2008, 10:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Призрачный
****


Профиль
Группа: Экс. модератор
Сообщений: 6753
Регистрация: 1.3.2004
Где: Россия, Тамбов

Репутация: 10
Всего: 71



уже говорил smile Вот 
Код

function sR1Start($info=array('error'=>'')){
    GLOBAL $gd_sess, $gd_site;

// обе переменные существуют и содержат данные

    $error = ($info['error']!='') ? '<div class="col1" align="center"><b>Внимание, ошибка!</b>'.$info['error'].'<br></div>' : '';

// переменная существет и содержит данные (впри нажатии на "ВХОД"

    $gd_sess = number_format ($gd_sess / 60, 0);

// переменная существует

    return <<<EOF

// переменные уже не существуют 

<div>
<table>
    <tr>
......
EOF;


Добавлено через 4 минуты и 46 секунд
Feldmarschall, да ёмоё.. ну ты читай что ли....  smile  Оказивается не только я не вижу попросов. но и ты ответы smile 

Цитата(Gold Dragon @  8.7.2008,  09:17 Найти цитируемый пост)
перед return поставил print_r($error);


Цитата(Gold Dragon @  8.7.2008,  09:38 Найти цитируемый пост)
вот зайдите сюдаhttp://befocus.qqq/index.php?pages=r2там внизу есть ".... 15 минут...." А эти модули практически одинаковые...


Цитата(Gold Dragon @  8.7.2008,  10:35 Найти цитируемый пост)
смотри две станицыhttp://befocus.ru/index.php?pages=r1иhttp://befocus.ru/index.php?pages=r2нажми на "ВХОД"на первой странице переменная почему-то нулевая (её содержимое можешь увидеть в верху страницы, я в функции поставил print_r($errror) )на второй странице всё работает..




--------------------
Нельзя жить в прошлом, оно уже прошло.
Нельзя жить в будущем, оно ещё не наступило.
Нужно жить в настоящем, помня прошлое и думая о будущем!
PM MAIL WWW ICQ   Вверх
Mal Hack
Дата 8.7.2008, 10:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 122
Всего: 261



global маленькими напиши.

Добавлено через 38 секунд
Но с точки зрения технологии это не совсем верно...
PM ICQ   Вверх
Gold Dragon
Дата 8.7.2008, 10:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Призрачный
****


Профиль
Группа: Экс. модератор
Сообщений: 6753
Регистрация: 1.3.2004
Где: Россия, Тамбов

Репутация: 10
Всего: 71



вот что на странице сейчас. Бумаю видно что и где должно выводиться и проверяться на наличие

Код

function sR1Start($info=array('error'=>'')){
    GLOBAL $gd_sess, $gd_site;
    $error = ($info['error']!='') ? '<div class="col1" align="center"><b>Внимание, ошибка!</b>'.$info['error'].'<br></div>' : '';
    $gd_sess = number_format ($gd_sess / 60, 0);
    echo $gd_sess.'<br>'.$gd_site.'<br>'.$error;
    return <<<EOF
    {$gd_sess}
    {$gd_site}
    {$error}
<div>
<table>
    <tr>
        <td><img src="{$gd_site}/images/knop4.gif" width="77" height="85" alt="Внимание, обманули!" border="0"></td>
        <td><h1>Внимание, обманули!</h1></td>
    </tr>
</table>
<p class="txt2">В разделе представлены записи  граждан и юридических лиц, которые считают, что пострадали от действий определенных людей, поступки которых, по их мнению, соответствует статьям 159 «Мошенничество», 
160 «Присвоение, растрата» УК РФ. Вы можете проверить данные интересующего вас человека или сделать новую запись.
<p>Проверить на судимость можно <a class="txt2" href="{$gd_site}/index.php?pages=in10">здесь</a>
{$error}
<p>&nbsp;</p>
<form action="index.php?pages=r1&id=1" method="post">
<input name="vid" type="hidden" value="4">
<hr>
<p>Для входа введите имя и пароль
<p><a class="txt2" href="http://befocus.qqq/index.php?pages=in06">Информация о получении пароля пользователя</a>
<table cellspacing="0" cellpadding="5" border="0" width="100%">
<tr class="txt1">
    <td align="right">Имя пользователя:</td>
    <td><input name="login" type="text" maxlength="20"></td>
</tr>
<tr class="txt1">
    <td align="right">Пароль:</td>
    <td ><input name="pasw1" type="password" maxlength="3" size="2">&nbsp;-&nbsp;<input
         name="pasw2" type="password" maxlength="3" size="2">&nbsp;-&nbsp;<input
         name="pasw3" type="password" maxlength="3" size="2">
    </td>
</tr>
<tr class="txt1">
    <td>&nbsp;</td>
    <td><input type="submit" value="Вход" name="id1"></td>
</tr>
</table>
</form>
<hr>
<span class="txt5">* если пользователь не произвел никаких активных действий в течение {$gd_sess} минут, он  автоматически выходит из регистрации</span><br><br>

</div>
EOF;
}

http://befocus.ru/index.php?pages=r1




--------------------
Нельзя жить в прошлом, оно уже прошло.
Нельзя жить в будущем, оно ещё не наступило.
Нужно жить в настоящем, помня прошлое и думая о будущем!
PM MAIL WWW ICQ   Вверх
Feldmarschall
Дата 8.7.2008, 10:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок
****


Профиль
Группа: Участник
Сообщений: 2641
Регистрация: 11.12.2007

Репутация: 22
Всего: 32



Gold Dragon, на странице "этого" быть не может. Поскольку "это" - только определение функции. А вызова здесь нету.

В коде мы видим
Код

 echo $gd_sess.'<br>'.$gd_site.'<br>'.$error;

на странице -
Цитата

15<br>http://befocus.ru<br>0<br>http://befocus.ru<br>

у тебя есть идеи, как 2 br превратились в 4?
PM   Вверх
Gold Dragon
Дата 8.7.2008, 10:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Призрачный
****


Профиль
Группа: Экс. модератор
Сообщений: 6753
Регистрация: 1.3.2004
Где: Россия, Тамбов

Репутация: 10
Всего: 71



Цитата(Mal Hack @  8.7.2008,  11:10 Найти цитируемый пост)
global маленькими напиши.Добавлено через 38 секундНо с точки зрения технологии это не совсем верно...
да вроде в прошлый раз так ине определились что лучше передавать переменные или использовать глобальные smile

Feldmarschall, уже много раз давай ссылку на результат smile 
Насчёт всего кода согласен. Но оставил его только потому что он именно так на сервере, вдруг где-то именно в самом коде синтаксис глючит.. просто уже не вижу. Пытался полность переписать вручную и заново, тоже самое..

а насчёт иголки--яйца--утки... Мне нравится так  smile проблема то сейчас не в этом

Добавлено через 6 минут
Цитата(Feldmarschall @  8.7.2008,  11:18 Найти цитируемый пост)
у тебя есть идеи, как 2 br превратились в 4?
а вот это уже интересно... почему-то не обратил на это внимание...  smile 



--------------------
Нельзя жить в прошлом, оно уже прошло.
Нельзя жить в будущем, оно ещё не наступило.
Нужно жить в настоящем, помня прошлое и думая о будущем!
PM MAIL WWW ICQ   Вверх
Mal Hack
Дата 8.7.2008, 10:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 122
Всего: 261



передавать конечно.
PM ICQ   Вверх
Gold Dragon
Дата 8.7.2008, 10:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Призрачный
****


Профиль
Группа: Экс. модератор
Сообщений: 6753
Регистрация: 1.3.2004
Где: Россия, Тамбов

Репутация: 10
Всего: 71



действительно, функция скорее всего вызывается два раза. Буду смотреть..


Feldmarschall, и нечего было так кричать smile Вот видишь у меня уже как говориться, взгляд замусолился, а ты заметил...

Mal Hack, в чём плюсы передачи?


--------------------
Нельзя жить в прошлом, оно уже прошло.
Нельзя жить в будущем, оно ещё не наступило.
Нужно жить в настоящем, помня прошлое и думая о будущем!
PM MAIL WWW ICQ   Вверх
Feldmarschall
Дата 8.7.2008, 10:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок
****


Профиль
Группа: Участник
Сообщений: 2641
Регистрация: 11.12.2007

Репутация: 22
Всего: 32



Цитата(Gold Dragon @  8.7.2008,  10:19 Найти цитируемый пост)
уже много раз давай ссылку на результат 

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

Цитата(Gold Dragon @  8.7.2008,  10:19 Найти цитируемый пост)
проблема то сейчас не в этом

именно в этом. в кривом шаблоне. 

Цитата(Gold Dragon @  8.7.2008,  10:19 Найти цитируемый пост)
почему-то не обратил на это внимание... 

Это неудивительно. Ты слишком большое внимание уделял собеседникам, объясняя им, какие они некультурные. Где уж тут за своим кодом смотреть.
Тем более, что код вообще ничего не выводил.
Может, ты что-то и правил на своем befocus.qqq, но на страницах, на которые ты исправно посылал своих собеседников, не выводилось ни-че-го.

Это сообщение отредактировал(а) Feldmarschall - 8.7.2008, 10:44
PM   Вверх
Gold Dragon
Дата 8.7.2008, 10:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Призрачный
****


Профиль
Группа: Экс. модератор
Сообщений: 6753
Регистрация: 1.3.2004
Где: Россия, Тамбов

Репутация: 10
Всего: 71



Feldmarschall, ну конечно, я вот весь такой из себя.. и всё у меня кривое, и всё не как надо и правильно, и всё через одно место сделано.. Предлагаю меня расстрелять smile 

В общем, вопрос закрыт. Проблема оказалось банальной, в условиях была логическая ошибка и функция использовалась несколько раз. А шаблон уж не такой и кривой оказался  smile 


--------------------
Нельзя жить в прошлом, оно уже прошло.
Нельзя жить в будущем, оно ещё не наступило.
Нужно жить в настоящем, помня прошлое и думая о будущем!
PM MAIL WWW ICQ   Вверх
skyboy
Дата 8.7.2008, 12:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 75
Всего: 260



Цитата(Gold Dragon @  8.7.2008,  09:51 Найти цитируемый пост)
А шаблон уж не такой и кривой оказался

кривой не шаблон сам по себе. подход к системе шаблонизации выбран один из самых неудобных для отладки, рефакторинга и даже - использования.
впрочем, тебе с этим жить.
PM MAIL   Вверх
Gold Dragon
Дата 8.7.2008, 13:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Призрачный
****


Профиль
Группа: Экс. модератор
Сообщений: 6753
Регистрация: 1.3.2004
Где: Россия, Тамбов

Репутация: 10
Всего: 71



skyboy, есть несколько причин по которым я этим пользуюсь. Ну первая и наверное самая главная - я просто привык и мне очень с ним удобно работать. Вторая - используя этот подход удобнее менять вид страниц, т.е. можно сделать все страницы сайта абсолютно разными вплодь до изменения стилей и расположения элементов при меньших затратах smile
Кстати, есть же тема "Шаблонизатор", решение что лучше так и не приняли  smile 


--------------------
Нельзя жить в прошлом, оно уже прошло.
Нельзя жить в будущем, оно ещё не наступило.
Нужно жить в настоящем, помня прошлое и думая о будущем!
PM MAIL WWW ICQ   Вверх
skyboy
Дата 8.7.2008, 15:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 75
Всего: 260



Цитата(Gold Dragon @  8.7.2008,  12:00 Найти цитируемый пост)
решение что лучше так и не приняли

там, насколько мне помнится, речь шла о HTML с PHP вставками, блочный шаблонизатор и XML/XSLT
все они дают фору варианту с  heredoс.
а) попробуй сделать шаблон внутри шаблона: либо переменную придется инициализировать содержимым целиком(значит, занимать память), либо придется разрывать heredoc'овское echo, что не улучшит читабельность ни на йоту
б) попробуй вызвать PHP  функцию в шаблоне; опять же: либо придется дополнительно инициировать переменные, либо разрывать вывод
в) попробуй сделать вывод однотипной информации по данным в массиве: придется разрывать вывод, чтоб можно было echo вынести в РНР-шный цикл
или я чего не понимаю?
PM MAIL   Вверх
Gold Dragon
Дата 8.7.2008, 15:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Призрачный
****


Профиль
Группа: Экс. модератор
Сообщений: 6753
Регистрация: 1.3.2004
Где: Россия, Тамбов

Репутация: 10
Всего: 71



не по теме конечно пошло... smile

разрывов у меня нет.. я просто даю функции массив, а там просто в HTML-тексте уже идут простые вставки типа {$info['name']} и всё очень читаемо  smile А из функции возвращается готовая страница.


--------------------
Нельзя жить в прошлом, оно уже прошло.
Нельзя жить в будущем, оно ещё не наступило.
Нужно жить в настоящем, помня прошлое и думая о будущем!
PM MAIL WWW ICQ   Вверх
Mal Hack
Дата 8.7.2008, 15:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 122
Всего: 261



Цитата(Gold Dragon @  8.7.2008,  10:29 Найти цитируемый пост)
Mal Hack, в чём плюсы передачи? 

Использование глобальных переменных чревато их возможным изменением где-ть..
PM ICQ   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0653 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.