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

  Все выпуски  

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


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

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

Выпуск № 278
от 09.03.2006, 23:35

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


Вопрос № 36702: Здравствуйте експерты. Ситуация такая: имееться табличка в БД (id, name, info, cat, pcat), я хочу сделать маленький каталог и вывожу ее таким способом: $result=mysql_query("SELECT cat, pcat, count(*) from download group by cat&q...
Вопрос № 36703: Здравствуйте эксперты ! подскажите можно ли отправить почту с сайта используя ящик на mail.ru...
Вопрос № 36763: Здраствуйте уважаемые эксперты Я у себя на компютере поставил сервер (базовый комплект "Денвер") и хочу испытать несколько скриптов... когда пытаюсь открыть index.php мне пишет 2 ошибки. 1. Notice: Undefined variable: rid in z:home...

Вопрос № 36.702
Здравствуйте експерты.
Ситуация такая:
имееться табличка в БД (id, name, info, cat, pcat), я хочу сделать маленький каталог и вывожу ее таким способом:

$result=mysql_query("SELECT cat, pcat, count(*) from download group by cat");
while($a_row=mysql_fetch_row($result)) {
echo "<a href='read.php?cat=$a_row[0]'>...::] $a_row[0] [::...</a><br>";
if ("$a_row[1]") {
echo "<ul><a href='read.php?cat=$a_row[0]&pcat=$a_row[1]'>....:::] $a_row[1] [:::....</a></ul><p>";}}

в поле cat храниться название каталога, в поле pcat название подкаталога.
если выводить только табличку каталогов, то все ОК!
Но когда начинаешь выводить все каталоги и подкаталоги пытаясь сделать табличку типа:

каталог
подкаталог1
подкаталог2
каталог2
подкаталог3
подкаталог4
то все идет не так как нужно и некоторые подкаталоги не выводяться...

Помогите пожалуйста!

Еще хотелось-бы задать вопросик: как сделать так, что-бы при заходе в какой-то каталог read.php?cat=catalog1 в списке каталогов и подкаталогов этот каталог отображался не как ссылка ("<a href='read.php?cat=catalog1'>...::] catalog1 [::...</a>"), а как простой текст, а все остальное было ссылками?

И напоследок, еще один вопросик: как сделать так, что-бы выводились из БД не все строки, а только первые десять, а в низу было что-то типа:
< 1 2 3 4 > (типа как в гостевых книгах) и можно было бы переключаться между десятками выводимых строк?

Заранее благодарен всем откликнувшимся експертам!
Отправлен: 04.03.2006, 01:17
Вопрос задал: C001z3rO (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Whisper
Здравствуйте, C001z3rO!
певая часть вопроса
$result=mysql_query("SELECT id, name, info, cat, pcat from download group by cat");
$cat = '';
while($row=mysql_fetch_assoc($result)) {
if ($cat != $row['cat']) {
print "<a href=read.php?cat=$row['cat']>...::] $row['cat'] [::...</a><br>";}
$cat = $row['cat'];
print "<a href=read.php?cat=".$row['cat']."/".$row['pcat']">...::]".$row['pcat']."[::...</a><br> ";

}

если хочешь выводить часть, то попробуй использовать запрос типа

select что from откуда where условие если надо LIMIT первая строка, последняя строка

А номер первой строки передавать по ссылке, а последней выщитывать
второй вопрос не понял...

---------
все тленно
Ответ отправила: Whisper (статус: 5-ый класс)
Отправлен: 04.03.2006, 10:23


Вопрос № 36.703
Здравствуйте эксперты !
подскажите можно ли отправить почту с сайта используя ящик на mail.ru
Отправлен: 04.03.2006, 01:25
Вопрос задал: Cimus (статус: Посетитель)
Всего ответов: 4
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: Ерёмин Андрей
Здравствуйте, Cimus!
Подмените заголовок From и никто не поймёт, откуда было отправлено письмо:
$headers = "From: mailbox@mail.ru";
mail("aaa@bbb.cc","Test","Message",$headers);
А ещё можно через функции IMAP, но они гораздо сложнее в использовании и тяжелы в отладке.
---------
Нет правила без исключений. Правило без исключений - исключение из правил.
Ответ отправил: Ерёмин Андрей (статус: Профессор)
Отправлен: 04.03.2006, 07:46
Оценка за ответ: 5
Комментарий оценки:
Наверное я криво вопрос задал или не понял ответа , функция mail() должна наверно как-то отправлять данные на smtp сервер , а если я хочу воспользоваться smtp сервером на smtp.mail.ru то как быть в этой ситуации ?

Отвечает: Whisper
Здравствуйте, Cimus!
Есть такая замечательная функция mail("кому","заголовок","текст","от кого"); - как самый простой вариант отправки письма.
---------
все тленно
Ответ отправила: Whisper (статус: 5-ый класс)
Отправлен: 04.03.2006, 09:59

Отвечает: Rusland
Здравствуйте, Cimus!
Скачайте и установите модуль PHPMailer версии 1.73 (http://sourceforge.net/project/showfiles.php?group_id=26031). В нем реализована отправка писем через SMTP сервер. Инструкцию почитайте здесь http://www.p-stone.ru/libr/internet/prog/php/data/public16/index.shtml?minimal
---------
Если партия скажет есть контакт, будем есть контакт.
Ответ отправил: Rusland (статус: Специалист)
Отправлен: 06.03.2006, 14:31
Оценка за ответ: 5

Отвечает: КиберТварь
Здравствуйте, Cimus!
через функицию mail()
но для этого надо настроить РНР
в php.ini найдите и измените параметры
SMTP, smtp_port, sendmail_from
а если у вас юникс тогда
sendmail_path
Ответ отправил: КиберТварь (статус: Практикант)
Отправлен: 06.03.2006, 14:57
Оценка за ответ: 4
Комментарий оценки:
хороший вариант ! только не каждый хостинг-провайдер предостаит доступ к этим настройкам


Вопрос № 36.763
Здраствуйте уважаемые эксперты
Я у себя на компютере поставил сервер (базовый комплект "Денвер") и хочу испытать несколько скриптов... когда пытаюсь открыть index.php мне пишет 2 ошибки.
1. Notice: Undefined variable: rid in z:homelocalhostwwwlayout.inc.php on line 45
в файле layout.inc.php в 45 линии такой код: if($rid) session_register('rid');
2. Parse error: parse error, unexpected ',' in z:homelocalhostwwwfunction.inc.php on line 102
в файле function.inc.php в 102 линии такой код: if ($line[password]==$password,$line[password]){
Помогите мне решить эти проблемы и еще, если я закину эти скрипты на платный сервер с поддержкой php то там тоже будут эти ошибки?
з. ы. Это скрипты HYIP сервиса если это чемто поможет.
Заранее спасибо.
Отправлен: 04.03.2006, 22:38
Вопрос задал: Станислав (статус: 1-ый класс)
Всего ответов: 3
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Stamm
Здравствуйте, Станислав!
Как говорится, ошибки они и в Африке ошибки. При переносе на платный сервер они ни куда не денуться.((((((
1)Эта ошибка вызвана тем, что переменная $rid не существует. ЧТо бы избежать это предупреждения нужно поставить @ перед $rid : if (@$rid). Или же можно сделать так: if (isset($rid)). Функция isset определяет существует ли переменная.
2) Код вообще какой-то странный..... Возможно здесь должно быть так:
if ($line[password]==$password){
---------
В день - один, ну два подвига, не больше...
Ответ отправил: Stamm (статус: Студент)
Отправлен: 04.03.2006, 23:28
Оценка за ответ: 5

Отвечает: SKC
Здравствуйте, Станислав!
1. Создайте в корневой папке вашего сайта (www) файл .htaccess в который впишите следущую строку:
php_value error_reporting 7

2. Думаю Stamm правильно ответил. ,$line[password] тут лишнее.
---------
go go go
Ответ отправил: SKC (статус: 2-ой класс)
Отправлен: 05.03.2006, 00:28
Оценка за ответ: 5

Отвечает: Ерёмин Андрей
Здравствуйте, Станислав!
Дело в том, что в Денвере по умолчанию включён вывод всех сообщений и предупреждений. Чтобы их убрать, нужно заменить файл /usr/local/php/php.ini на тот, в котором настроено отключение вывода сообщений. Файл для замены прилагаю. А на реальных серверах обычно все ошибки отключены. В любом случае, с помощью функции error_reporting() можно всегда включить или выключить их вывод.

Прикреплённый файл: Загрузить >>
Срок хранения файла на сервере RusFAQ.ru составляет 30 суток с момента отправки ответа.
---------
Нет правила без исключений. Правило без исключений - исключение из правил.

Ответ отправил: Ерёмин Андрей (статус: Профессор)
Отправлен: 05.03.2006, 07:49
Оценка за ответ: 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.18 от 09.03.2006
Яндекс Rambler's Top100

В избранное