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

  Все выпуски  

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


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

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

Выпуск № 312
от 14.04.2006, 11:35

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


Вопрос № 39716: Здравствуйте! Я отдаживаю сайт на своём компьюторе с помощью пакета "Денвер". При попытке запустить сеанс Денвер выдаёт следующее сообщение: Warning: session_start() [function.session-start]: Cannot send session cookie - he...
Вопрос № 39719: есть ли смысл писать свой класс шаблонизатора, или лучше использовать готовые, как Smarty ? ...
Вопрос № 39729: Добрый день эксперты. Начил изучять PHP и MySQL. Файлы сайта находятся в c:/www/mysite. Cоздаю базу данных forum в MySQL - в папке C:mysqldata появляется папка forum. Все работает вот так: <?php $dblocation = "127.0.0.1";...
Вопрос № 39738: Здравствуйте! Как сделать так, чтобы дата, которую вернет функция date("d F"), в позиции месяц вывела бы название месяцев по-русски? Спасибо....
Вопрос № 39752: Здравствуйте эксперты ! Подскажите как избавиться от сесси , точнее как её закрыть...

Вопрос № 39.716
Здравствуйте!
Я отдаживаю сайт на своём компьюторе с помощью пакета "Денвер".
При попытке запустить сеанс Денвер выдаёт следующее сообщение:

Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at s:home...

Что у меня не так? Может что-то не так в настройках системы? Вот некоторые из переменных:

session.auto_start Off Off
session.save_handler files files
session.serialize_handler php php
session.use_cookies On On
session.use_only_cookies Off Off
session.use_trans_sid On On
Отправлен: 08.04.2006, 12:28
Вопрос задал: Соловьёв Вячеслав (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: Stamm
Здравствуйте, Соловьёв Вячеслав!
Посмотрите, не проскакивает ли оператор вывода тектса Print????
---------
В день - один, ну два подвига, не больше...
Ответ отправил: Stamm (статус: Студент)
Ответ отправлен: 08.04.2006, 17:30
Оценка за ответ: 4


Вопрос № 39.719
есть ли смысл писать свой класс шаблонизатора, или лучше использовать готовые, как Smarty ?
Отправлен: 08.04.2006, 13:12
Вопрос задал: Bazinovs (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Rusland
Здравствуйте, Bazinovs!
Зачем изобретать велосипед, когда есть готовые оптимизированные решения - Smarty, FastTemplate, XTemplate.

---------
Если партия скажет есть контакт, будем есть контакт.
Ответ отправил: Rusland (статус: Специалист)
Ответ отправлен: 10.04.2006, 11:38


Вопрос № 39.729
Добрый день эксперты. Начил изучять PHP и MySQL. Файлы сайта находятся в c:/www/mysite. Cоздаю базу данных forum в MySQL - в папке C:mysqldata появляется папка forum. Все работает вот так:

<?php
$dblocation = "127.0.0.1";
$dbname = "forum";
$dbuser = "root";
$dbpasswd = "";

$dbcnx = @mysql_connect($dblocation, $dbuser, $dbpasswd);
if (!$dbcnx)
{
echo "<p>noserver mySQL</p>";
exit();
}
if (!@mysql_select_db($dbname,$dbcnx) )
{
echo "<p>nodbase</p>";
exit();
}
$ver = mysql_query("SELECT VERSION()");
if(!$ver)
{
echo "<p>Error query</p>";
exit();
}
echo mysql_result($ver, 0);
?>

Копирую из C:mysqldata папку forum в c:/www/mysite и больше неработает - nodbase. Што надо поменять? или как на сервер перекину тоже автоматически будет находить или надо будет как и в такой ситуации указывать путь к базе данных.
Спасибо за ответ.
Отправлен: 08.04.2006, 15:29
Вопрос задал: OlegMA (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Samum
Здравствуйте, OlegMA!
Копировать папку никуда не надо, она автоматически создается сервером БД и лежит там, где положено. Сервер получет от вас запрос, открывает эту папку, читает из нее нужные файлы и отправляет вам ответ.
В данной ситуации (если вы папку ручками с сервера не удаляете, а все-равно не работает) то уберите @ перед mysql_select_db и увидите ответ MySQL.

Когда будете переносить на сервер, вам понадобится на сервере создать базу данных используя путь к серверу, логин и пароль который выдаст хотинг-провайдер. Часто хостинг предоставляет в пользование phpMyAdmin, поэтому проблем быть не должно.
---------
Если бы программистам за их ошибки отрывали части тела, то в конце концов им пришлось бы использовать голову!
Ответ отправил: Samum (статус: Специалист)
Ответ отправлен: 08.04.2006, 18:39


Вопрос № 39.738
Здравствуйте!
Как сделать так, чтобы дата, которую вернет функция date("d F"), в позиции месяц вывела бы название месяцев по-русски? Спасибо.
Отправлен: 08.04.2006, 18:55
Вопрос задал: Jadd (статус: Профессионал)
Всего ответов: 3
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Ерёмин Андрей
Здравствуйте, Jadd!
В самой функции это не предусмотрено, т.к. PHP изначально скомпилирован с использованием английского языка. Но решается просто:
<?php
$d = date("d F");
$eng_months = array("January","February","March","April","May","June","July","August","September","October","November","December");
$rus_months = array("Январь","Ферваль","Март","Апрель","Май","Июнь","Июль","Август","Сентябрь","Октябрь","Ноябрь","Декабрь");
for ($i = 0; $i < count($eng_months); $i++)
{ $d = str_replace($eng_months[$i],$rus_months[$i],$d); }
print $d;

?>
---------
Нет правила без исключений. Правило без исключений - исключение из правил.
Ответ отправил: Ерёмин Андрей (статус: Профессор)
Россия, Тула
WWW: Программирование на DELPHI: Всё для программиста.
ICQ: 286837644
----
Ответ отправлен: 08.04.2006, 19:07
Оценка за ответ: 5
Комментарий оценки:
Спасибо

Отвечает: Arykray
Здравствуйте, Jadd!
Следующий кусок кода заменяет Английские названия месяцев на Русские.
Подразумевается что $dd =date("d F")

Приложение:

---------
Чем сложнее задача, тем проще ее не решать.

Ответ отправил: Arykray (статус: 1-ый класс)
Ответ отправлен: 08.04.2006, 21:53
Оценка за ответ: 4
Комментарий оценки:
Это примерно тоже самое, что и до этого эксперт прислал. Проблема вот в чем: чему будет равна $dd после выполнения означеного кода?

Отвечает: nkravt
Здравствуйте, Jadd!

Как вариант можно вместо функции date использовать strftime:

setlocale (LC_TIME, "ru_RU.UTF-8");
echo strftime("%d %B");
Ответ отправила: nkravt (статус: 3-ий класс)
Ответ отправлен: 10.04.2006, 03:32
Оценка за ответ: 3
Комментарий оценки:
И чего? Мне конкретную проблему решить надо было.


Вопрос № 39.752
Здравствуйте эксперты !
Подскажите как избавиться от сесси , точнее как её закрыть
Отправлен: 08.04.2006, 22:01
Вопрос задал: Cimus (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: XMF
Здравствуйте, Cimus!
--
session_destroy();

Дружно учим РНР: сессии
Ответ отправил: XMF (статус: 5-ый класс)
Ответ отправлен: 08.04.2006, 22:25
Оценка за ответ: 5


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

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

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

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

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала 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.30 (beta) от 09.04.2006
Яндекс Rambler's Top100

В избранное