Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Программируем на PHP - вопросы и ответы.


Служба Рассылок Subscribe.Ru

_ Здравствуйте! Выпуск номер 32 _
Рассылки сайта РНР для всех!

Вы получили этот выпуск рассылки, так как являетесь подписчиком рассылок сайта http://subscribe.ru Рассылка выходит еженедельно, и предлагает Вам авторские материалы на тему программирования на скриптовом языке гипертекстового препроцессора РНР. Кроме того - есть система вопросов и ответов, обмен ссылками и баннерами, раздел Ваши письма и многое другое.
Вам доступен форум рассылки:
Офицальный форум сайта
Все вопросы и ответы из форума
будут публиковаться в рассылке!

заказать книги по РНР
(только Беларусь)

Технологии чата (преименовано из Теория чата)
продолжение в предыдущем номере, окончание :-) в следующем... (пишется)

Кроме авторизации, очень важным является пункт настройки чата. Как правило, применяются несколько вариантов настройки. Самые распространенные – настройка перед каждым входом в чат, настройка чата под себя один раз с памятью на cookie и настройка чата в любой момент времени. На мой взгляд, самым удобным является разумная комбинация всех трех вариантов. Если пользователь так хочет – пусть так и будет, только не нужно забывать и о тех, кому не очень хочется что то там отстраивать и настраивать, а нужен вход в чат одним кликом. Для таких необходимо предусмотреть загрузку конфигурации чата по умолчанию. А остальным можно предоставить возможность настраивать самые различные параметры – цвет фона, шрифт и его размер, фразу для входа, время обновления окна чата, фильтр матов, отключение графических иконок и т.д. Все это должно присутствовать в окне авторизации, или настраиваться из самого чата.
Когда все необходимые параметры для входа в чат настроены, посетитель должен обратить свое внимание на бросающуюся в глаза кнопку или ссылку входа в чат. Как правило, все параметры настройки, введенный ник и пароль передаются методом POST в загрузчик, где после соответствующей обработки в браузер загружаются несколько фреймов. Сделать чат без фреймов теоретически можно, но это очень неудобно и непрактично, так что Вам просто придется освоить фреймовую структуру. Она не очень сложна, но если что то не понятно, можно взять готовый файл загрузчика с другого чата, и применить у себя его. Как правило, чат состоит из 3-4 фреймов. Экран делится не несколько частей по горизонтали и по вертикали. В горизонтально разделенных фреймах выводят информацию о количестве посетителей в чате (или чаще – их список) и собственно саму текстовую и графическую (так называемые иконки – смайлики) информацию, которой обмениваются посетители. В вертикально разделенных фреймах можно обеспечить окно для ввода текста, выбор его вида, цвета и т.д. Там же выбираются иконки, если они предусмотрены. Кроме того, тут можно выводить и другую полезную информацию – реклама, ссылки, счетчики и т.д.
Перед тем, как фреймовая структура будет сформирована и передана браузеру, нужно предусмотреть еще очень многое. Ну, про авторизацию уже я говорил, но именно тут нужно вести учет входов (для показа тех, кто находится в данный момент в чате), проверять соответствие дат и сохранять ежедневные логи разговоров, если это нужно. Тут же надо проверять и корректировать все введенные пользователем данные. Не рассчитывайте, что переменные переданные Вашему загрузчику методом POST не смогут принять иное значение, чем Вы предусмотрели. Можно ведь воспользоваться еще и методом GET, а это значит что Вашему загрузчику могут такое передать…! Приучите себя обрабатывать полученные переменные по всем критериям. Другими словами – всегда проверяйте, соответствует ли полученная переменная нужному диапазону, и если нет – лучше всего присвоить ей стандартное значение. Кстати, очень не плохо воспользоваться контролем методов передачи данных. Если Вы пользуетесь методом передачи данных POST, проверьте переменную окружения $QUERY_STRING. Если она не пуста, Вашему загрузчику пытаются что-то передать еще и по методу GET. Эти потуги можно пресекать.
К сожалению, кроме самого загрузчика фреймовой структуры данные необходимо передать в другие файлы чата. Если этого не сделать, все настройки чата будут утеряны, а авторизация потеряет всякий смысл, так как любой желающий сохранит Ваш загрузчик у себя на диске, подредактирует его как надо, запустит… И войдет в чат минуя все входные процедуры. Как минимум – это дает возможность ему быть невидимым в чате, как максимум – входить под любым Ником, что согласитесь, неприятно.
Чтобы такого не происходило, Вам придется немного усложнить один или несколько фреймов. Точнее – программ, отвечающих за вывод информации в фреймы. Каждому соответствует свой собственный файл, и в каждом соответственно, свой программа. Вот этим-то программам и нужно передать все данные о пользователе, причем информацию о посетителе передать так, чтобы нельзя было явно ее изменить. Информацию о цвете и настройках можно передать как обычно, методом GET. Она, как правило, не влияет на существенные настройки чата, и все равно доступна для изменения. Есть возможность передавать все данные с помощью cookie (это такие небольшие файлы, которые сервер сохраняет на компьютере пользователя), но метод этот плох тем, что посетитель без поддержки cookie или с отключенной такой поддержкой в настройках браузера не сможет пользоваться Вашим чатом. Хотя – это самый легкий путь. Изменить файл cookie на диске можно, но это уже несколько сложнее, и специалист такого уровня вряд ли заинтересуется Вашим чатом. У него и так работы хватает :-). Можно зашифровать информацию, записываемую в cookie одним из методов шифрования, поддающихся обратной расшифровке. Вариантов много!
Но, как я уже говорил, это иногда плохо так как не максимально надежно и часто не совместимо на 100%. Остается только передать пароль и информацию об авторизованном пользователе тоже через метод GET. Кстати, если кто еще не очень понимает что это за методы такие передачи файлов, попробую вкратце объяснить. Метод POST основан на передаче данных через форму, а значит требует перехода либо по кнопке, либо по ссылке либо по графическому рисунку. То есть – требуется реальное действие пользователя. Метод передачи данных GET применяется тогда, когда надо передать информацию программе без активного действия. Вот пример ссылки, передающей данные программе, расположенной в файле index.phtml : http://myhost.by/index.phtml?temp=1&qwe=slovo Как видите, передаются и цифры и символы, причем передать можно несколько переменных за один раз. В результате обработки такой ссылки программа в index.phtml получит две переменные - $temp и $qwe с соответствующими значениями.
Передавать таким методом учетные записи незашифрованными нельзя, да это и не требуется. Я говорил о специальном цифровом идентификаторе введенного пароля. На основе его, ника пользователя и любой другой произвольной переменной можно построить еще один цифровой идентификатор, который уже можно передавать открыто методом GET через загрузчик фреймов. Расшифровать такой идентификатор невозможно, так как не известны методы, которыми он строился. Для усиления криптостойкости и вводится дополнительная строка. А можно скомбинировать сочетание идентификатора пароля, ника и дополнительной строки так, как угодно. Это дает возможность построить разные системы шифрования. В любом случае – методика шифровки должна быть недоступной всем желающим.

продолжение следует...
Кухарчик Андрей @ октябрь 2001
http://virtual.bresttelecom.by/php/
virtualphp@tut.by


Сайты в тему

Предлагаю Вам коллекцию сайтов, где Вы сможете отыскать различную информацию по поводу РНР. Если у Вас есть предложения по поводу расширения этого списка - я с удовольствием добавлю сюда еще один полезный ресурс. Присылайте свои ссылки и описания.

  • http://www.php.net/ - официальный сайт РНР. Масса информации, но только для тех, кто дружит с английским.
  • http://www.php-encoder.f2s.com - защита РНР скриптов UPDATED.
  • http://phpclub.net - Архив бесплатных PHP-приложений (вкл. E-commerce), форумы, чаты, рассылки, книги, обучение, хостинг.
  • http://www.devshed.com/Server_Side/PHP/ интересные статьи по PHP и не только.
  • http://ancient.dax.ru На сайте много готовых решений на PHP: форумы, чаты, гостевые книги и многое другое. Кроме того сам сайт реализован на php.
  • http://detail.phpclub.net/ - как обычно, о РНР.
  • http://firststeps.narod.ru/html/php/php.html
  • http://detail.phpclub.net/
  • http://phpclub.unet.ru
  • http://open.appideas.com/   сборник скриптов
  • http://programmingpub.com/scripts.html   скрипты на perl,php,python,tcl
  • http://px.sklar.com   php сборник скриптов
  • http://phplib.netuse.de   Здесь можно найти самую матёрую библиотеку на php(не отдельные скрипты, а цельное пособие по разработке), только не спешите подписываться на рассылки (авторы думают что все в мире должны знать немецкий
  • http://php.resourceindex.com/   коллекция скриптов
  • http://phpwizard.net   Tobias Ratschiller ничего не говорит?
  • http://www.umnik.f2s.com/ содержит информацию для вебмастера (по всем актуальным языкам веб-программирования), установка домашнего сервера Apache (разных версий)+MySQL+PHP+Perl. Также можно подписаться на рассылки
    "Вопросы и ответы по ОС" и "Будь достойным вебмастера". Имеются множество советов по компьютеру...
  • www.phpbuilder.com Здесь есть все! Форум, статьи, мануал, скрипты, да и вообще очень много профессионалов, тусующихся на сайте.
  • http://phpclasses.upperdesign.com/ Там находится масса классов на php, имеется рассылка на английском
    языке, регистрация бесплатная.
  • http://www.sourceforge.com - Вот IMHO очень полезный сайт. И не только для PHP-программистов, но и для всех остальных. Там десятки тысяч готовых примеров.

Где можно посмотреть

А и правда. РНР, да РНР! А где посмотреть как все это работает и оценить, стоит или нет заниматься этим... Правильное решение будет таким. Посетите сайты, указанные ниже, и посмотрите как они работают. Кстати, если хотите продемонстрировать всем свой проект или то, чего Вы достигли изучая РНР, присылайте ссылку и описание, и все это будет размещено здесь. Только не забудьте поставить у себя наш баннер, можно и не на главной, но буду не против :-) Ссылки на сайты будут вращаться по кругу по мере поступления.

http://virtual.bresttelecom.by - Виртуальный Брест. На РНР работают чат, форум, гостевая, объявления, статистика посещений, обмен компакт дисков, анекдоты.
www.gdekupit.ru Интернет-каталог Где купить в России. Каталог полностью автоматизирован. Регистрация, добавление нового города, Оформление Договора, выписка счета, служба рассылки и т.д. полностью автоматизировано. Все, кроме счетчика посещений на PHP и MySQL. Кстати, регистрация предприятий, расположенных в любом города России, абсолютно бесплатная.
http://www.ohrana.nsk.su - Практически весь сайт написан на PHP. Используется БД на MySQL.
http://www.webclub.lv   - Латвийский Клуб Веб-мастеров Наш сайт предназначен для всех кто творит и хочет творить Интернет. Мы предлагаем информацию, помощь и примеры по дизайну. Довольно обширная коллекция скриптов. Статьи, учебники и многое другое.
http://www.love24h.com/ru/   - международная служба знакомств, все анкеты (более 1500) с фото
http://www.freeglobus.com/ - сайт бесплатных игр (все со скриншотами и линками на загрузку)
http://trinet.wallst.ru - на PHP сделан каталог игр
www.nixers.com - сайт для поиска непостоянной работы в Ирландии. Short term, part-time and temporary jobs in Ireland.
http://karaganda.central.kz - "На связи Караганда" - содержание сайта полностью отделено от оформления.
http://moredeneg.wallst.ru - Сайт о Реальном заработке в сети. На сегодняшний день сайт почти полностью на PHP.
http://www.yanka.f2s.com - полностью написан на PHP. Работают следующие скрипты: новости, talk box, links, фотографии, гостевая, тексты, дневник.
http://softm.vov.ru - программы для бизнеса - это простые решения сложных задач
http://rec.gov.by - Сайт Центральной Комисси Республики Беларусь по выборам и проведению республиканских референдумов.
http://www.zgoda.f2s.com сайт белорусской опозиционной газеты "ЗГОДА" полностью сделан на php:"движок", гостевая, счетчик, голосование, обновление, а так же еще пару других мелких, но полезных фишек.
http://rec.gov.by - Сайт Центральной Комисси Республики Беларусь по выборам AK> и проведению республиканских референдумов.
www.saratoff.ru - "Саратовские народные новости". Новости политики, экономики, культуры, спорта и общественной жизни Саратовской области. Посетители сайта сами могут публиковать собственные новости на сайте. Удобная система администрированная, реализованная на принципиально новой технологии алгоритмизации, с использованием всех возможностей PHP и MySQL позволяет авторизованным пользователям самим создавать и администрировать новые разделы на портале.
www.ecsot.narod.ru  Это сайт ПП "Эксот", которое специализируется на изготовлении сепараторов для очистки сжатого воздуха от масла и влаги.
http://americansingles.to - знакомства, магазин. Много интересного, и вс ена РНР.
http://www.uvd.tula.ru - сайт УВД Тульской области.
http://www.andrey.nnov.ru "Сайт Андрея Зайчикова" - Поможет начинающим программистам стать профессионалами. Алгоритмы, статьи, книги, faq и многое другое.
www.puhlik.f2s.com - Система позволяет провести опрос (голосование) любой целевой аудитории (посетители сайта, участники форума и т.д.). Полностью написана на PHP4 с использование MySQL.
http://flower.lgg.ru - Доставка цветов и подарков
http://autodealer.ru - Все для авто. Поисковая ситема на запчасти. Програмное обеспечение для автобизнеса. Практически весь сайт написан на PHP. Используется БД на MySQL.


Почта рассылки

Hello, Андрей!
Мы тоже поклонники php, поэтому создали сайт с БД посвященный доменам и только им. И все бы ничего, если бы не те объемы информации, которые удалось "нарыть" в сети. Дело в том, что мы нашли в сети ВСЕ свободные домены - имеются в виду самые ходовые 3-4 литерные домены com net org info. их оказалось более 100000 (миллион!) штук + плюс еще всякие другие тв сс и т.д. Заказчу БД мы начали сегодня ночью, но она еще продолжается, так как вкинули только около ста тысяч. Самое интересное - это не сама БД, а механизм поиска нужных доменов, он более или менее оригинален. Надеемся, что наша страничка про домены понравиться не
только любителям и ценителям php, но и всем сетянам, желающим найти себе подходящие домены для сайтов. Их там (чисто совсем бесплатных доменов 3 уровня и доменов-фраз
свыше 200 видов). Забыл сказать - сайт называется www.eee3.com - кстати, это имя мы гашли на доменных "развалах". Удачи вам, постоянные читатели вашей рассылки, team eee3.com  mailto:qdat@fromru.com


Обратите внимание: Поступило предложение...

Итак, еще одна неделя голосования позади. Как ни странно, чаша весов склоняется в пользу ПОДДЕРЖИВАЮ, видимо из-за объяснений в предыдущем номере. Особо сложных вопросов не задавалось, кому смог, тем ответил на вопросы в письмах. Еще одну неделю помучаю Вас этим делом, и... приму наконец решение. Напомню, мы обсуждаем необходимость введения платного обучения основам программирования на РНР или HTML. Ваше мнение очень важно для меня:

Да, ПОДДЕРЖИВАЮ                                        Нет, НЕ ПОДДЕРЖИВАЮ


Вопросы и ответы
задать вопрос

Предлагаю Вам присылать свои вопросы на адрес рассылки. Вопрос должен быть кратким, точным и по теме. Ответы на вопросы по мере знаний будут даваться мной, а если я не смогу дать Вам исчерпывающий ответ - кто-то из подписчиков обязательно поможет. А если Вы знаете ответ на заданный вопрос - не поленитесь ответить. Этим Вы очень поможете кому-то решить свою проблему. Синтаксис и грамматика - авторские.

Внимание! - вопросы, на которые никто не ответил не будут переноситься в следующий выпуск. Если вы так и не нашли ответ, попробуйте поточнее сформулировать свою проблему и изложить ее еще раз. Если Вы хотите, что бы авторство ответа указывалось в самом ответе, указывайте ссылку на себя в тексте ответа, тогда она пойдет в рассылку.

задать вопрос

Вопросы: 

  1. У меня есть большая страница на ПХП. она долго загружается (из базы MySQL) и весит несколько
    мегабайт. ПХП выдаёт, что максимум ексикьюшн тайм иксидед 30 сек. А как увеличить это время. чтобы станица хоть час могла загружаться? У меня конфиги ПХП в файлах с расш. *.conf, только я там нечего не нашёл. Может я не то искал? Или не там? Спасибо. Синсерли.  Влад. (Fox по-нашему)
    ответить
  2. У меня вопрос по PHP:
    Есть б.д. архивных новостей, table archive содержит следующие поля:
    $id - уникальный номер;
    $name- заголовок новости;
    $datum=time() - содержит текущее время в виде числа;
    $comment содержание новости;
    Файл main.php выводит заголовки новостей в убывающем порядке:
    $query="select * from $userstable where year='2001' order by datum desc";
    $result=MYSQL_QUERY($query);
    while($row=mysql_fetch_array($result)){
    echo "<a href='view.php?id=$row[id]'>".$row["name"]."</a><br>";
    }
    А файл view.php выводит саму новость.
    Так вот, мне бы хотелось организовать это более универсально (понимаю, что нужно использовать
    циклы, но
    как?), а то приходится делать несколько однотипных запросов, только меняя год в условии отбора.
    И, чтобы, в
    итоге содержимое выводилось в следющем виде:
    2001
    Заголовок6
    Заголовок5
    Заголовок4
    2000
    Заголовок3
    Заголовок2
    Заголовок1
    и т.д.
    ответить
  3. Как работать с DBF-файлами. Вернее с самим DBF-файлом работать я умею. У меня есть программа на Делфях которая делает записи в таких файлах. В главном файле есть поле с типом MEMO в котором содержаться записи находящиеся в файле с расширением *.DBM. Так вот я не знаю КАК взять с этого
    файла записи.
    ответить
  4. я хочу сделать переадрессацию по 404-й ошибке, для чего в файле .htaccess пишу, чтоб по этой самой 404-й вызывалась my.php, в начале коротой я посылаю нормальный хедер 200: Ок. Но у меня
    выскакивает ошибка 500. Не подскажешь ли, что делать? С уважением, Cage
    ответить
  5. А как проверить число (дату) в следующем формате на корректность 00.00.0000 (причем первые два нуля это день и он не может превышать 31, вторые это месяц и не могут превышать 12, третьи год здесь все ОК) ??? Т.е. предположим пользователь вводит в тектовое окошко число 23.12.2001, скрипт проверяет его на корректность и выводит сообщение, что это правильное число. Если вводит что-нибудь вроде 41.32.2001, то это не правильно и выдается ошибка.
    ответить
  6. Кто может поделится информацией о РНР для чайников самое начальное пособие(как компилировать прогу и т.д.)
    ответить
  7. Привет, всем! Проблема есть у меня, может для кого и простая, но я пока не могу ее решить, знаний не хватает. Есть директория, в ней лежат текстовые файлы содержащие:
    npaper|#02|(02)|15 октября 2001|
    заголовок
    Автор
    Сам текс
    ______
    При обращении к директории, где лежат эти файлы мне надо прочитать, в первом случае, его первую
    строчку и вывести на экран и далее под этой строчкой вывести вторые строчки остальных файлов,
    чтобы получилось сделующее.
    npaper|#02|(02)|15 октября 2001|
    заголовок
    заголовок
    заголовок
    заголовок
    заголовок
    ...
    Потом при щелчке по определенному заголовку происходил вывод всего файла, но уже без перфой
    строчки. Вида:
    заголовок
    Автор
    Сам текс
    _______
    ответить
  8. Например, у меня есть ссылки вида:
    2001
    ссылка1 ссылка2 ссылка3
    2000
    ссылка1 ссылка2 ссылка3
    и т.д.
    Так вот я разбила ссылки по годам, т.е.
    http://127.0.0.1/index.php?link=1
    загржается 1.php (соотв-т 2001 году)
    http://127.0.0.1/index.php?link=2
    загржается 2.php (соотв-т 2000 году)
    А "ссылка1 ссылка2 ссылка3", являются внтренними для каждого года, т.е. хотелось бы сослаться на них, с помощью якоря т.е. в файле 1.php я пишу: <a name="1"> Ссылка1</a>, а потом в броузере:
    http://127.0.0.1/index.php?link=1#1
    Но мне выдается ошибка Internal Server Error, нежели при такого вида ссылке нельзя использовать якоря? Ведь вводить второй уровень типа
    http://127.0.0.1/test/books/index.php?link=1&&name=1
    очень неудобно, так как в этом случае документ 1.php придется разбивать на поддокументы, что приведет к образованию кучи "матрешек",  можно ли как-нибудь иначе решить данную проблему, но не разбивая файлы?
    ответить
  9. Вопрос по PHP:
    А как, с помощью цикла выводить данные в следующем табличном виде:
    Ссылка1 Ссылка4
    Ссылка2 Ссылка5
    Ссылка3 Ссылка6
    Т.е. чтобы данне разбивались по столбцам?
    ответить

    Ответы на заданные вопросы:
  1. для тех имеет свой сайт на f2s.com и создавал сам (!) на пхп таблицу в БД MySQL. Дело в том, что я пишу:
    $sql="create table somename(id int(5) default '0' auto_increment
    primary key, emails varchar(30))";
    mysql_query($sql);
    по идее должна создаться таблица, но она не создается, поскольку каких то параметров нет (я смог создать только через phpmyadmin). еще раз повторюсь: прошу ответить тех кто СОЗДАВАЛ через php таблицу БД именно на www.f2s.com . Напишите свой пример кода (начиная с подключения к БД). Заранее всем спасибо.
    Ответ:

    надо б mysql_select_db (или как там его) делать ...

    f2s у меня вообще не работает выдает ошибки, когда на локалке все пашет || www.nokstr.dax.ru ||

  2. Подскажите пожалуйста, каким образом можно сделать так, чтобы при указании пути в URL строке, например: www.mysite.ru/page1.html при несуществующей странице "page1.html" скрипт "page.php" "загружал" эту страницу. Надо, чтобы адрес не был в таком виде: www.mysite.ru/page.php?page=1
    Заранее спасибо!
    Ответ:

    1. MOD Rewrite к Апачу здесь поможет
    2. можно вызов этого скрипта (page.php) дефолтной 404 странички поставить, а уже в нем
    смотреть через $PATH_INFO что же все-таки было запрошено и в зависимости от этого выдавать
    что требуется ...

    похожую проблему легче всего решить с помощью встроенного модуля rewrite в Апачи, там очень большие возможности - описывать очень много - см. документацию. Но если у вас нет доступа к функциям Апачи, то есть один выход (а может и не один - но я бы так сделал):
    - сделать отдельный фал для ошибки 404 (не найден документ) и прописать его или в Апачи или в .htaccess (см. документацию по Апачи). пример:
    ErrorDocument 404 /errors/404.php
    - а вот в этом файлике необходимо прописать некоторые обработки строки
    ошибочного урла:
    1. выдергиваем все что есть в адресной строке: parse_url ($PHP_SELF);
    2. получаем массив $arr("http","www.mysite.ru","page1.html") обрабатываем $arr[2] ругулярными выражениями $arr[2] = ereg_replace ("[^0-9]*([0-9]+)[^0-9]*","\\1",$arr[2] ); - выдернет
    только число в имени файла и заменит этим числом весь текст в этом элементе массива
    3. и делаем загрузку определенной страницы:
    header("location $DOCUMENT_ROOT/page.php?page=$arr[2]");
    или require("$DOCUMENT_ROOT/page.php?page=$arr[2]");
    в первом случае будут видны в адресной строке, во втором останется тот, который ввел юзер.
    Способ не самый удачный - при большой посещаемости - большая нагрузка на скрипт 404.php, что может притормаживать выполнение. Удачи, Игорь WwW.NasMnogo.ru

    В директории, в которой работает скрипт, кладешь файл .htaccess, где пишешь следующее:
    ErrorDocument 404 index.php
    ErrorDocument 401 index.php
    ErrorDocument 402 index.php
    ErrorDocument 403 index.php
    ErrorDocument 500 index.php
    DirectoryIndex index.php
    После этого все ошибки будут перенаправляться на твой скрипт. Для того, чтобы все это работало, тебе необходима возможность создавать конфигурационные файлы Apache (а это именно такой файл) и РНР должен быть установлен как mod_Apache то есть не как CGI приложение, а как серверное расшириение. Тогда все будет работать. Если одно из этих условий не выполняется - меняй хостера.

    Это отдельная тема. Ищи в поисковиках по запросу "ЧПУ". ЧПУ - это человеко-понятные-урлы.
    || www.nokstr.dax.ru ||

  3. Я сделал себе движок для сайта. Статьи для сайта я заношу через форму, файл формы (addstatya.html) расположен на сайте. Форма передает данные скрипту, который создает текстовый файл на хостинге содержащий данную статью (т.е. я не использую FTP клиент). Как мне сделать так, чтобы этот текстовый файл создавался еще и уменя на компьютере (например, в директории D:\MYSITE\ ), а то мало ли хостинг сбойнет и удалит все статьи, а на моем компе у меня их не будет?
    Ответ:


    1. поставить у себя на машине веб-сервер и писать статьи в html-ке с формой, лежащей на на этом
    своем веб-сервере. html-ка передает данные скрипту, лежащему у тебя же на сервере, он (скрипт)
    пишет статью в файл на винт (поскольку он туда имеет доступ) и через header("Location:
    www.blabla.ru/myscript.php?date=01102001&text=ssseee") с уже известными параметрами вызываем
    скрипт-обработчик с сайта
    2. Ctrl-C -> start notepad -> Ctrl-V -> Ctrl-S тоже помогают ....
    3. можно еще в скрипте-обработчике поставить посылку текста статьи себе же на e-mail

    Никак. Скрипт исполняется на сервере и ничего не может изменить у вас на компе.
    Если бы это было возможно, то все вебмастера хозяйничали бы на вашем компьютере как на своем :)) Вам это надо? Можно решить это другим способом - немного кондово, но ничего не поделаешь:
    - скрипт пишет хтмльный файлик, а потом генерит форму, где в текстовом поле выкладывает содержание этого файла
    - остается только скопировать (можно дописать скриптик на Яве, чтобы он копировал в буфер обмена - это возможно, потому что Ява-скрипты выполняются на вашей машине).
    Как это сделано можно посмотреть здесь:
    http://WwW.NasMnogo.ru/test/text_to_html.php В коде можете покопаться - там все понятно с Ява-скриптами. Удачи, Игорь WwW.NasMnogo.ru

    думается мне, самый простой ответ будет такой: шли себе на мыло какое-нибудь новость ентую:) это
    наверное самое простое... если есть вопросы то: mailto: prodin@fcd-by.net

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

  4. В формах в списках и в полях со списком есть возможность многозначного выбора (держа Ctrl и кликая по пунктам). Я пробовал чего-то сделать, но в форме отсылается только последнее выбранное значение. А как сделать, чтобы всё, что я навыбирал, отправилось? Thanx.
    Ответ:

    К сожалению, это глюк PHP - или недоработка. PHP неправильно обрабатывает списки с атрибутом MULTIPLE :(b Выход только один - использовать чекбоксы. Игорь WwW.NasMnogo.ru

    Если ты мог заметить, то запрос уходит скрипту примерно в такой форме (когда ты выбираешь несколько параметров):
    script.php?param1=val1&param2=val2&from_select=Select1&from_select=Select2&from_select=Select3&...

    Соответственно, скрипт по умолчанию хватает только последнее значение from_select. Что это обойти, я в свое время делал так:
    $request = $REQUEST_URI;
    $path =
    eregi_replace($DOCUMENT_ROOT."<path_from_root_to_script>/script.php?","",$request); // отрезаем
    все лишнее
    $hacth = explode('&',$path);
    for ($step=0;$step<sizeof($hatch);$step++)
    {
    $res[$step] = explode('from_select=',$hatch[$step]);
    }
    В результате получился двумерный массив, в котором $res[$step][1] - искомые значения. Не слишком элегантное решение :)) Можно сделать проще:
    Вот код html страницы для проверки:
    <html><head><title>Test Url</title></head><body>
    <form action="testurl.php">
    <input type="hidden" name="val1" value="1">
    <input type="hidden" name="val2" value="2">
    <input type="hidden" name="val3" value="3">
    <input type="hidden" name="val4" value="4">
    <select name="selct[]" multiple size=7>
    <option value="var1">var1</option>
    <option value="var2">var2</option>
    <option value="var3">var3</option>
    <option value="var4">var4</option>
    <option value="var5">var5</option>
    <option value="var6">var6</option>
    </select><br><input type="submit" value="goo!"></form></body></html>
    А вот код скрипта, который все это обрабатывает:
    <? parse_str($QUERY_STRING); ?>
    <br><?
    for ($step=0;$step<(sizeof($selct)/2);$step++)
    {
    echo"$selct[$step]<br>";
    } ?> Если что-то непонятно - пиши на l0g_err@xakep.ru

  5. Можно ли использовать модуль с привязкой к Oracle, как если бы я подключал екстент php_oci8.dll, и как? Спасибо заранее
    Ответ:

    1. ну результатом выполнения удаленного скрипта может быть файл типа
    param1=value1
    param2=value2
    ...
    вызывать это дело просто через
    $fd=fopen("http://www.blabla.ru/script.php", "r");
    while (!feof($fd))
    {
    list($param, $value) = split("=",fread($fd), 2); // делим только по первому знаку "="
    $arr[$param] = chop($value);
    }
    это самое простое ...
    Этот синтаксис используется при написании классов, что дает PHP некое подобие ООП - объектно-ориентированное программирование. Классы позволяют создавать объекты для дальнейшего использования их при программировании на PHP. Почитайте любую книгу по PHP - там как правило (хоть и кратко) описываются классы в PHP. Книги наконец-то появились и неплохие. Рекомендую
    "Профессиональное PHP программирование" от Джеуса Кастаньетто и команды. Удачи, Игорь WwW.NasMnogo.ru

    Руками :))) Если интересно - могу пояснить. Пиши на l0g_err@xakep.ru

  6. У меня такая проблема, мне нужно из своего скрипта запустить скрипт с другого сайта, причем так чтобы тот скрипт передал моему переменные (не обязательно запускать из скрипта можно, главное получить
    переменные из скрипта находяшегося на другом сайте) Возможно ли это? Если да, то опишите поподробнее! Заранее благодарен!
    Ответ:
    Нет!!!

  7. Часто вижу в исходниках примерно такое:
    $this->charset = $v;
    А что означает такая стрелка, ->, а? Я пытался в мануале найти, но так и не смог. Если кто знает. скажите хотя бы, в каком разделе мануала почитать об этом. Спасибо. Hunter.
    Ответ:

    Стрелка указывает на свойство объекта. Подробнее прочитать об этом можешь в любой книге по С или Perl. Везде все одинаково (почти).

    боже мой ... и чего тебе в Class/Objects Functions не хватает?

  8. Как чат написать?

    Ответ:

    Читай статью в этом, предыдущем и следующем номерах.

    задать вопрос


Обмен ссылками и баннерами

Предлагаю Вам стать участниками баннерообмена. Ваши ссылки и описания Ваших сайтов вы можете присылать по адресу рассылки - virtualphp@tut.by Все ссылки обязательно появятся в этой рассылке. Если есть желание разместить свой баннер 88*31 на сайте рассылки http://virtual.bresttelecom.by/php/ , укажите это дополнительно, и пришлите код своего баннера. В любом случае, Вам надо будет разместить у себя код баннера сайта рассылки, и только на главной страничке Вашего сайта.

Взять код моего баннера (на выбор) можно по адресу: http://virtual.bresttelecom.by/php/index.phtml?php/banner.html или воспользоваться этим:

<a href="http://virtual.bresttelecom.by/php/"><IMG SRC="http://virtual.bresttelecom.by/baner/8831.phtml"
alt="Виртуальный Брест" width="88" height="31" border="0"></a>

Наши друзья

Правила у меня стандартные - описания Ваших сайтов будут периодически (в зависимости от их количества) размещаться в рассылке. И конечно - будет отдельная страничка на сайте, на которой будут представлены все друзья сайта.

http://virtual.bresttelecom.by - Виртуальный Брест. Региональный информационно - развлекательный портал города Бреста. Чат, форум, статьи, услуги, объявления, недвижимость, каталог сайтов - это и многое другое ждет Вас на страницах сайта.
http://price.bresttelecom.by - сайт прайсов фирм города Бреста. Поиск, подсчет, реклама и т.д.
http://tweak.tut.by - http://tweak.bresttelecom.by - Оптимизация и настройка компьютера. Если Вас интересуют различные аспекты настройки Вашего мегагерцевог
о друга, Вам надо посетить сайт посвященный настройке и оптимизации. Кроме того - список последних версий популярных программ и свежие новости, а так же чат, форум и многое другое!
http://saleha.al.ru/anecdot/index.phtml   - самые новые и смешные анекдоты.
http://klepan.narod.ru  - Халява pliz! - реферал клуб.
http://www.ohrana.nsk.su - Название: Управления вневедомственной охраны г.Новосибирска. Описание: Услуги по охране квартири других объектов, сопровождение грузов. На сайте: интересные статьи, новости, криминальная хроника, вакансии и другая полезная информация!
http://www.programing.narod.ru - программирование на РНР
http://icebreaker.dax.ru - самый информативный сайт об ударных инструментах, здесь находится огромное количество полезной информации для ударника:фотографии,статьи,табулатуры,самоучители,ссылки и много чего ещё!
http://webd.hut.ru - AGS Design. Сайт для вебмастера. 1500+ изображений фонов, иконки и кнопки, отличная графика, скрипты, очень понятная документация по различным языкам программирования, изучение Фотошоп
от А до Я, и мн. др.
www.nokstr.dax.ru - Программы, статьи и примеры по Visual Basic, C++, Халява.
http://www.ancient.dax.ru - Ancient - Каталог Веб-Мастера. Бесплатные скрипты CGI, PHP, JAVA
WebCraft - всё для вебмастеров, увеличение вашего трафика на 200 посетителей в день.

http://softm.h1.ru/ - программы для бизнеса - это простые решения сложных задач
http://moskalyuk.com/links/index.htm . На сайте собрана коллекция ссылок, причем, как нетрудно убедиться, многие посвящены программированию и компьютерным наукам. По РНР отдельно пока ничего нет, просто в последнее время я увлекался языком Perl, кому-то может показаться интересным.
http://sos.dax.ru - Проект "SOS:Помощь пользователю". На сайте вы найдете множество статей, советов по компьютеру. Всегда свежий софт. А также вы сможете задать вопрос и получить на него моментальный ответ. Если вам нужна помощь - мы поможем вам!
http://www.uvd.tula.ru - сайт криминальной милиции УВД Тульской области. Здесь будет все, что касается милиции, права и жизни города Тулы.
http://www.pro-forex.com/ru/index.php - Большой проект финансовой тематики, полностью реализованный на PHP и MySql: Дилинговый Центр PRO-FOREX.COM
http://myvote.hut.ru - MyVote - голосование на Вашем сайте.Сервис для всех вебмастеров, которые хотят сделать свой сайт более интерактивным. Позволяет организовать опрос мненияпользователей на любом сервере.
http://kinfa.narod.ru/ "Для программистов, Web - мастеров, разработчиков и пользователей, интересующихся новыми возможностями языка HTML"
http://catsclub.boom.ru - Все о кошках в Кошкином Клубе
www.adelavida.com.ua - Юмор, Галерея совремённых художников, Советы по Виндозе, Полезные ссылки
http://www.sura.ru/maxwell Математика, Алгоритмы, Программирование. На сайте можно найти описания различных алгоритмов и методов, относящихся к различным математическим (и не только) дисциплинам.
http://rodinaaa.nm.ru - Велкам в "Уголок Родины", на персональную страницу Бориса Киреева aka Генерал Родина. Здесь Вы можете познакомиться с моим как бы литературнымтворчеством. Творчеством моих друзей.
ermakov.hut.ru - Не нажимайте на эту ссылку! Все равно на Абсолютно бесполезном сайте Вы не найдете ничего, кроме самых интересных кроссвордов, обычных и не очень, самых смешных анекдотов. Стоит ли идти на этот сайт для того, чтобы подписаться на лучшую кроссвордную рассылку Subscribe.ru?!


Подпишитесь на рассылки!

Рассылки Subscribe.Ru
Программируем на PHP - вопросы и ответы
Новости сайта Виртуальный Брест
Оптимизация и настройка компьютера
SOS:Помощь пользователю Интернета
Вэб-строительство Профессионалам
Кроссворды от К.Ермакова
JavaScript и PHP
:-) ШуТкИ - ШутКамИ (-:
Dummpy Daily eTips
Аббревиатуры и термины в компьютерном мире

Здесь будет публиковаться список рассылок, рекомендуемых к подписке. Если у Вас есть рассылка - предлагаю Вам обменяться подобной формочкой для подписчиков. Достаточно прислать мне код рассылки и ее название.


автор рассылки Андрей Кухарчик / http://virtual.bresttelecom.by/php



http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться
Убрать рекламу
Рейтингуется SpyLog

В избранное