RFpro.ru: Программирование на PHP

  Все выпуски  

RusFAQ.ru: Программирование на PHP


РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / PHP

Выпуск № 286
от 18.03.2006, 11:05

Администратор:Калашников О.А.
В рассылке:Подписчиков: 235, Экспертов: 36
В номере:Вопросов: 3, Ответов: 5


Вопрос № 37336: Здравствуйте, эксперты! Есть основной файл index.php, есть файл с моими функциями func.php. Как сделать так, чтобы из файла index.php можно было вызывать функции из func.php. {Хотел сделать как с javascript. Т.е. в начале дал ссылку на файл....
Вопрос № 37337: Уважаемые Эксперты! Вот такая проблема: Нужно что-бы при обращении к какому-либо сценарию пользователь помечался как уникальный, и остававался таким до закрытия ВСЕХ окон браузера. Прбовал использовать cookies без указаняя времени жизни, и si...
Вопрос № 37360: Уважаемые Эксперты! Недавно задавал ворос но получил только один ответ. И по этому теперь раскрою суть более полно: Итак: есть некий сценарий do.php, при обращении он выводит картинку (счётчик) и увеличивает значение ...

Вопрос № 37.336
Здравствуйте, эксперты!
Есть основной файл index.php, есть файл с моими функциями func.php. Как сделать так, чтобы из файла index.php можно было вызывать функции из func.php.
{Хотел сделать как с javascript. Т.е. в начале дал ссылку на файл.
language="php" src="func.php"></script>
а потом обратиться к функции get_data.
$_data1=php:get_data($_data);
но выдала ошибку
Fatal error: Call to undefined function get_data() in C:Home_ServerApache2htdocsindex.php on line 27
типа нету такой функции.
Помогите пожалуйста.
Отправлен: 12.03.2006, 13:46
Вопрос задал: Godal (статус: 2-ой класс)
Всего ответов: 3
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: КиберТварь
Здравствуйте, Godal!
http://php.net/manual/ru/function.include.php
http://php.net/manual/ru/function.include-once.php
http://php.net/manual/ru/function.require.php
http://php.net/manual/ru/function.require-once.php
используйте одну из конструкций языка РНР
include include_once require require_once

Приложение:

Ответ отправил: КиберТварь (статус: Практикант)
Ответ отправлен: 12.03.2006, 13:54

Отвечает: Ерёмин Андрей
Здравствуйте, Godal!
Использовать функции include(), include_once(), require() или require_once(). Хочется отметить, что предпочительнее использовать require*() и вот почему. Если функции include*() не находят заданного файла, то выполнение скрипта и открытие страницы продолжается, просто будет пустое место вместо содержимого файла. Функции же require*() при отсутствии файла прерывают выполнение скрипта, дабы "не натворить чего лишнего". Пример:
<?php
require("func.php");
. . .
?>
---------
Нет правила без исключений. Правило без исключений - исключение из правил.
Ответ отправил: Ерёмин Андрей (статус: Профессор)
Россия, Тула
WWW: Программирование на DELPHI: Всё для программиста.
ICQ: 286837644
----
Ответ отправлен: 12.03.2006, 15:55

Отвечает: Королёв Руслан
Здравствуйте, Godal!
Используй в index.php include func.php, она включит твой фаил с функциями
Ответ отправил: Королёв Руслан (статус: 1-ый класс)
Ответ отправлен: 12.03.2006, 22:15


Вопрос № 37.337
Уважаемые Эксперты!
Вот такая проблема:
Нужно что-бы при обращении к какому-либо сценарию пользователь помечался как уникальный, и остававался таким до закрытия ВСЕХ окон браузера. Прбовал использовать cookies без указаняя времени жизни, и sission но они видны только для одного окна.
Есть ли способ чтобы они били видны для всех окон?

Приложение:

Отправлен: 12.03.2006, 14:10
Вопрос задал: Golden Spider (статус: 4-ый класс)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Ерёмин Андрей
Здравствуйте, Golden Spider!
Приведённый пример теоретически не может работать и cookies ставится не будут. Функцию setcookie() нужно вызывать ДО вывода любых данных в браузер. В противном случае эффекта не будет, как и с функцией header(). Поэтому делать нужно примерно так:
<?php
setcookie(...);
?>
<html>
<body>
...
В целом - если для cookie не указан срок жизни, то она будет использоваться до закрытия браузера. По поводу окон - если это IE, то разные окна считаются как два разных запущенных браузера. Все претензии к Microsoft. Вот в Opera всё будет более, чем правильно.
---------
Нет правила без исключений. Правило без исключений - исключение из правил.
Ответ отправил: Ерёмин Андрей (статус: Профессор)
Россия, Тула
WWW: Программирование на DELPHI: Всё для программиста.
ICQ: 286837644
----
Ответ отправлен: 12.03.2006, 15:59
Оценка за ответ: 5
Комментарий оценки:
спасибо.
Насчет echo: при отсутсвии $doit в браузер не пойдет никакая информация, и ошибки Headers already sents не будет!

P.S. А нет ли какого другого сспособа?
P.P.S. Создание счётчика наподобии Топ 100.


Вопрос № 37.360
Уважаемые Эксперты!

Недавно задавал ворос но получил только один ответ.
И по этому теперь раскрою суть более полно:

Итак:

есть некий сценарий do.php, при обращении он выводит картинку (счётчик) и увеличивает значение в mysql базе.
Т.е. графическая кнопка.
(типа <img src=http://www.raiting.com/do.php?site=342>)

Но всё было хорошо пока я не решил сделать чтобы счетчик не увеличивался при каждом обновлении страницы, а только 1 раз в час для одного пользователя.

Такая система:

<?
If(!@$you_been_here)
{
mysql_query(‘UPDATE top_list SET count=count+1 WHERE id=”’.$site.’”’);
$count=$count+1;
//ВОТ ТУТ И ПРОБЛЕМКА
SETCOOKIE(‘you_been_here’,’yes’,time()+3600);
}
See_image();
?>

Но Кук почему-то не устанавливается и значение увеличивается каждый раз. Пытался подарить его хосту который вызывает кнопку ( setcookie(‘you_been_here’,’yes’,time()+363600,’’,$url);).

НО… сами понимаете...

Поможете?
Отправлен: 12.03.2006, 20:21
Вопрос задал: Golden Spider (статус: 4-ый класс)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: Stamm
Здравствуйте, Golden Spider!
Может быть всё дело в режиме register_globals. Если он включен, то надо будет обращаться к куки через массив: $_COOKIE.
Условие надо поменять на !@$_COOKIE['you_been_here']
---------
В день - один, ну два подвига, не больше...
Ответ отправил: Stamm (статус: Студент)
Ответ отправлен: 12.03.2006, 23:04
Оценка за ответ: 5
Комментарий оценки:
да нет с register_globals всё впорядке куки дудлируются переменными а вот этот не хочет


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2006, Портал RusFAQ.ru, Россия, Москва.
Идея, дизайн, программирование: Калашников О.А.
Email: adm@rusfaq.ru, Тел.: +7 (926) 535-23-31
Авторские права | Реклама на портале
Версия системы: 4.20 (beta) от 17.03.2006
Яндекс Rambler's Top100

В избранное