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

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


Служба Рассылок Subscribe.Ru проекта Citycat.Ru

Рассылка сайта
РНР для всех!

Выпуск номер 17

Здравствуйте

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

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

Блокируемся

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

Все дело в том, что мы не можем точно знать, что именно сделает препроцессор РНР в определенный промежуток времени. Не буду долго мудрить и возьму стандартный пример - счетчик. Он уже описывался в предыдущих выпусках, так что сразу перейдем к делу. Для того, что бы записать новое значение показания счетчика в файл, мы должны его сначала обнулить. И как бы быстро после этого не происходила запись нового значения, нет никакой гарантии, что в это время другой процесс РНР (окно браузера другого посетителя) в это время не считает пустой файл, и не присвоит переменной счетчика значение нуля. После этого второй процесс запишет в файл число 1, так как будет считать что считанное 0. Конечно, для возникновения такой ситуации необходимы специфические условия, но возможное в теории может случиться и на практике!

В реальной ситуации я с таким поведением просто не сталкивался, хотя может просто было мало обращений к сайту? Эта ситуация возможна только в том случае, когда перед записью в файл идет его обнуление (например так: $f=fopen("counter.txt","w+"); // открыли файл на запись; ). Символ W+ указывает, что перед записью в файл его необходимо обнулить (удалить все его содержимое). Это очень удобно, так как позволяет не заботиться об содержимом файла, куда предполагается сделать запись. Но именно это ведет к появлению описанной неопределенности.

Собственно, решение этого вопроса очень простое. В РНР есть команда flock(дескриптор, режим); Используется эта команда именно для блокировки доступа к определенному файлу (дескриптор на него должен быть открыт, например - командой fopen. Режим может принимать такие значения:

  • 1 - другие процессы могут отрыть только в режиме чтения
  • 2 - другие процессы ничего не могут
  • 3 - снять блокировку

Для нашего примера нужно написать так: flock($f,2); // заблокировали файл; и когда блокировка перестает быть нужна - flock($f,3); // сняли блокировку; Правда, если Вы забыли снять блокировку, ничего страшного не случится, так как она снимется автоматически при закрытии дескриптора файла. А файл будет закрыт автоматически при закрытии процесса (когда посетитель закроет окно браузера).

Итак, если Вы примените этот способ блокировки другой процесс, инициированный другим посетителем сайта, будет ждать того момента, когда блокировка будет снята. И только тогда процесс пойдет дальше. Вот такая короткая информация сегодня.

Андрей Кухарчик @ июль 2001
http://virtual.bresttelecom.by/php

virtualbrest@tut.by 


Если Вас интересует покупка книг по РНР, предлагаю Вам как вариант белорусский электронный магазин OZ.BY . Вы сможете перевести деньги как почтовым переводом, так и через расчетный счет из сберкассы.


Сайты в тему

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

  • http://www.php.net/ - официальный сайт РНР. Масса информации, но только для тех, кто дружит с английским.
  • http://go.to/php-encoder - защита РНР скриптов.
  • 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://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 - программы для бизнеса - это простые решения сложных задач


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

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

По Фидо пришла ссылка, которую я с удовольствием переадресовываю Вам. Не знаю, будет ли она работать (когда я проверял - работала), но там лежит файл около 7,5 Мегабайт, в котором дистрибутивы PHP+Apache+MySQL. Все уже установлено и настроено, нужно только распаковать куда надо. Пробуйте! http://virtual.bresttelecom.by/apache.phtml
Кстати, я скачал файлик, там все на русском, но если у Вас Win Me или W2K могут возникнуть проблемы, так как по умолчанию все ставится на виртуальный диск X, который монтируется в досе из autoexec.bat А указанные операционки их не используют. Правда, в первой мне удалось все запустить, но пришлось вручную запустить этот файл, так как сам по себе он не хотел идти, постоянно переименовываясь в резервную копию. Так что будьте морально готовы. И еще информация - для работы в Win95 Вам понадобится файл (какой - пока не знаю, знаю только что винда начнет ругаться на отсутствие этого файла), его нужно будет скачать из Интернета. И еще большое спасибо автору дистрибутива - дело он сделал нужное и полезное.

Комментарии:
и Windows 98 накрылась. Попытки реанимировать ни к чему не привели, пришлось переустанавливать систему. Теперь ставлю все по отдельности, закачивая дистрибутивы с официальных сайтов http://httpd.apache.org/ www.php.net www.mysql.com Мораль - не надо искать легких путей и работать только с оригиналами.
С уважением,
Александр Светлаков

Уважаемый Андрей, если Вас не затруднит, прошу сообщить, почему если выделить текст (в статьях по РНР на сайте www.nestor.minsk.by/kg ) и скопировать его в буфер, то при попытке вставить выделенный фрагмент в документ WORD ничего не вставляется (опция вставки вообще недоступна), хотя подобная операция по другим документах в сотнях раз давала положительный результат. Заране благодарю. С уважением, Евгений А.-Немов

Комментарии:
Зачем идти туда, если вся информация есть на сайте-первоисточнике. Если Вас интересуют мои статьи, а не материалы рассылки, Вам нужно посетить адрес http://virtual.bresttelecom.by/index.phtml?komputer/index.phtml - это раздел Компьютер сайта Виртуальный Брест. Там теперь отдельным списком выложены все мои статьи. Оттуда и качайте! Не нужно спрашивать у меня разрешения на размещение моих статей у себя на сайте при условии сохранения внизу статьи ссылок на сайт и почту. Если хотите разместить статьи в печатном издании, известите меня об этом, я думаю проблем не возникнет (если издание не выходит на территории Беларуси).

Здравствуйте!
Я увидел в Вашей рассылке пару строчек о хостинге www.f2s.com. Они дейсвтительно не регистрируют новых пользователей. У меня есть по этому поводу небольшое объявление: я могу продать эккаунт в www.f2s.com   Адрес: http://www.prog.f2s.com Есть еще несколько. Стоимость - $10, оплата через WebMoney. Спасибо.


Комментарии:
Излишни. Ну просит человек! А может, кто-то ищет как раз такую возможность.

Здравствуйте, Андрей Был у Вас на сайте, и еще приду не раз. Я делаю в Web первые шаги, хоть и являюсь художником с 20-летним стажем. Так что, вопросов к Вам у меня может быть миллион. Если есть пара минут, забегите на http://www.pustovit.lviv.ua К сожалению, лишь спустя полгода я понял, что такой сайт не нужен никому, да, в общем-то, и мне тоже.
Поэтому сейчас не работаю над ним. Но учусь.
С наилучшими пожеланиями,
Владимир Пустовит, Львов, Украина


Комментарии:
Ну не думаю, что сайт может быть таким бесполезным. Самая главная польза - Ваши знания, которые Вы накопили за то время, когда делали сайт.

Неточность: При сравнении на равенство двух переменных ставится два знака равенства. Исключений нет. Основной признак - скрипт работает, но не так как это от него ожидается.
Или 3 три (в пхп4) ! что означат идентичность типов и равенство - не забывайте.

Комментарии:
Спасибо.


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

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

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

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

Вопросы: 

  1. Как изменить запись в MySQL таблице. Я пробовал:
    mysql_db_query("Simpledb", "Update swaptable SET swaptable.SwapField = $FieldData,
    Where swaptable.Num = 1");
    Здесь: $FieldData текст, а Num - номер записи. Почему-то не обновляет. Хотя через админстраницы всё работает.

    ответить
  2. 1. Первый вопрос
    Как при посылке письма средствами php контролировать кодировку письма? У меня есть форма для отправки сообщений мне на e-mail. Обычно у всех в браузере стоит win-1251. Я перекодирую все данные для письма в koi-8(Стандартной кодировкой дляочты является koi-8).
    ...
    convert_cyr_string (stripslashes($body),w,k);
    ...
    Если в браузере стоит koi-8 то данные передаются в скрипт в koi-8 А я еще раз перекодирую все данные для письма в koi-8 и получается белиберда. Как решить эту проблему???

    2. Второй вопрос

    У меня есть форма для отправки сообщения мне на e-mail. Я пишу
    <script language="JavaScript">
    function new_window(url) {
    window.open(url,'New','toolbar=no,location=no,
    directories=no,status=no,menubar=no,resizable=yes,
    copyhistory=no,scrollbars=yes,width=400,height=300');
    }
    </script>
    ...
    <form method="get" action="JavaScript:new_window('mailto.php')">
    ..
    </form>
    После этого открывается новое окно со скриптом, но данные не передаются в скрипт. Как этого избежать(открывая при этом новое окно)?

    ответить
  3. Вопрос такой: каким образом можно избавиться от повторной посылки данных скрипту? Пример: пользователь заполнил форму, щелкнул на кнопке, скрипт отработал... но если пользователь щелкнет "Refresh", то скрипт отработает повторно... Чего я уже не делал - и редирект, и через куки отслеживал... но может есть вариант через переменные окружения CGI? Ну там типа HTTP_VARIABLES_POST или еще как-то?
    Ответ:
    Используй GET вместо POST...

    Не получится, у меня тут валит такая куча данных, что токо через POST. Если кто знает -
    расскажите.
    ответить
  4. Не сталкивались ли Вы со следующим глюком PHP ? Как известно в PHP очень удобно транслировать поля форм в переменные. Однако я применил такой прием: форму пишу не в HTML, а формирую динамически с помощью document.writeln():

    o=wform.document;
    o.writeln("<form name=\"invoice\" action=\"zakaz.php\" ");
    for (var i=1; i<=n; i++) {
    if (basket[i].name) {
    itemstr = " | " + basket[i].code + " | " + basket[i].name + " | " +
    basket[i].price + " | " + basket[i].unit + " | " + basket[i].quantity + " |
    " ;
    o.writeln("<p>" + " " + "</p>");
    o.writeln("<input type=\"hidden\" name=\"item" + i + "\" value=\"" +
    itemstr +"\">");
    }
    }
    o.writeln("<input type=\"submit\" value=\"Оформить заказ\"
    NAME=\"dosubmit\" class=\"button\" >");

    С латинскими буквами все без проблем, а русский текст отправляется в UNICODE. PHP пытается раскодировать как WIN-1251 и выводит полную абракадабру. Если Вы с этим сталкивались, то подскажите путь решения проблемы.

    ответить
  5. Возникла такая проблема: "хостюсь" значит я на lgg.ru скрипт поиска. вводиться слово для поиска и идет функция strtolower, преобразую все в нижний регистр, но не тут то было, не преобразуется :-(, в мануале написано: Note that 'alphabetic' is determined by the current locale. я так понимаю, что это как раз и не выполнено... так вот, вопрос состоит в следующем: Могу ли я как-то установить 'alphabetic'? знаю, что есть setlocale ("LC_CTYPE", "locale");, но не знаю что писать вместо locale? буду рад помощи...
    ответить
  6. Я установил Apache и PHP4 к нему. Дело в том, что при пересылки фомы или переменных типа http://host.ru/index.phtml?var=100 в index.phtml переменная $var не существует. Как быть? Мот я что-то не так делаю - полскажите пожалуйста.
    ответить

    Ответы на заданные вопросы:
  1. Где можно найти электронные книги по PHP???

    Ответ:
    Если Вы житель Беларуси - самый лучший вариант заказать в электронном магазине. Оплата или по почте или через сберкассу. Остальным точно не знаю, но сходите по ссылке, и там все узнаете.
    заказать

  2. 1 Очень хотелось бы знать , как устроены сайты на рнр типа webscript.ru belarusmedia.com в смысле
    ссылок , и можно ли такое сделать без mysql
    2 У меня стоит апач v1.3 и рнр4.0.5, вообщем скрипты выполняются , но при вызове адрес
    переделывается в что-то типа этого: http://myserver/_php/php.exe/new/test.php в чем проблема,
    я в httpd.conf добавил следующее:
    AddType application/x-httpd-php .php .php3 .php4 .phtml
    AddType application/x-httpd-php-source .phps
    ScriptAlias /_php/ "d:/usr/local/php/"
    Action application/x-httpd-php "/_php/php.exe"
    В чем тут дело? Заренее спасибо , с уважением геннадий

    Ответ:
    Могу ответить только на второй вопрос: Насколько я могу судить из вопроса ты используешь переменную $PHP_SELF а в WINDOWS она работает некоректно. Эта проблема описана на php.spb.ru и решается так: ereg("/__php_dir__/php\\.exe(.*)",$PHP_SELF,$regs); $GLOBALS["PHP_SELF"]=$regs[1];
  3. Я слышал про библиотеку GD для создания изображений под PHP. А нельзя ли ее использовать на Win32?

    Ответ:
    Конечно можно! Просто скачать PHP под Windows и пользуйся.

    Естественно можно. Почитай документацию - раздел про картинки ;) Andrew Kirilenko,

  4. Привет!
    Помоги, пожалуйста...

    вот текст моей вопроса:
    (form_checker.php3)
    <html>
    <head>
    <title>Contact Info Checker</title>
    </head>
    <body bgcolor="#FFFFFF">
    <?php
    /* Declare some functions */
    function print_form($f_name, $l_name, $email, $zip, $os) {
    ?>
    <form action="form_checker.php3" method="post">
    <table cellspacing="2" cellpadding="2" border="1">
    <tr>
    <td>First Name</td><td><input type="text" name="f_name"
    value="<?php print $f_name ?>"></td>
    </tr> <tr>
    <td>Last Name <b>*</b></td><td><input type="text" name="l_name"
    value="<?php print $l_name ?>"></td>
    </tr> <tr>
    <td>Email Address <b>*</b></td><td><input type="text" name="email"
    value="<?php print $email ?>"></td>
    </tr><tr>
    <td>ZIP Code <b>*</b></td><td><input type="text" name="zip"
    value="<?php print $zip ?>"></td>
    </tr> <tr>
    <td>Operating System</td><td><input type="text" name="os"
    value="<?php print $os ?>"></td>
    </tr> </table>
    <input type="submit" name="submit" value="Submit!"><input type="Reset">
    </form>
    <?
    }
    function check_form($f_name, $l_name, $email, $zip, $os) {
    if(!$l_name || !$email || !$zip):
    print("<h3>You are missing some required fields!<h3>");
    if(!$l_name) {
    print("You need to fill in your <b>Last Name</b>.<br>"); }
    if(!$email) {
    print("You need to fill in your <b>Email</b>.<br>"); }
    if(!$zip){
    print("You need to fill in your <b>Zip Code</b>.<br>"); }
    print_form($f_name, $l_name, $email, $zip, $os);
    else:
    confirm_form($f_name, $l_name, $email, $zip, $os);
    endif;
    }
    function confirm_form($f_name, $l_name, $email, $zip, $os) {
    ?><h2>Thanks! Below is the information you sent us.</h2>
    <b>Contact Info</b><?
    print("<br>$f_name $l_name<br>$email<br>ZIP: $zip<br>OS: $os\n");
    }
    /* Begin Main Program */
    if(!$submit):
    ?>
    <h3>Please enter your information</h3>
    Fields with a "<b>*</b>" are required.<p>
    <?php
    print_form("","","","","","");
    else:
    check_form($f_name, $l_name, $email, $zip, $os);
    endif;
    ?>
    </body>
    </html>
    (конец)
    значит выполняю у себя этот скрипт и мне выводит, что ошибка в 65 строчке: Warning: Undefined variable: submit in c:\board\form_checker.php3 on line 65 то есть в if (!$submit):
    попробовал залить его на свой хостинг - там все нормально работает... как я понял это у меня проблема в настройках апача или php... может мне что-то надо изменить в конфигах? у меня апача for windows98 Жду ответа


    Ответ:

    Насколько я знаю, предупреждения можно отключать, что похоже и сделано на твоем хостинге.
    Для того, чтобы избавиться от этого предупреждения можно вызывать скрипт так: http://host_name/form_checker.php3?submit=, а если он вызывается из формы, можно создать скрытое поле: <input type=hidden name="submit" value="">. mouri.


    Во первых - Warning - это НЕ ОШИБКА. Это ПРЕДУПРЕЖДЕНИЕ о том, что эта переменная до использования не была явно определена. По умолчанию РНР настроен так, что показывает все, что выше или равно WARNING. Поэтому в PHP.ini надо найти место, где определяется уровень сообщений и установить его в E_ERROR. После этого будут выводиться сообщения только об ОШИБКАХ. Секция Error handling and logging: error_reporting = E_ERROR Kot Angens (ctg@rambler.ru)

  5. Привет всем! У меня скорее просьба, а не вопрос.Столкнулся с необходимостью использования в PHP возможности создания сессий. Почитал и все вроде правильно сделал, одна проблема ничего не
    работает (версия PHP поддерживает сессии).А просьба такая, может кто объяснит или укажет где почитать о сессиях, желательно на русском языке.Спасибо за внимание. Viktor ( viktor@iot.kiev.ua )

    Ответ:
    http://php.spb.ru/php/session.html
  6. У меня вопрос по PHP: я сделала форму и в ней присутствует много checkboxes , как передавать в базу данных MySQL в случае его выбора: 1, и 0 - в противном случае?Как переименовать группу файлов в Фаре, сохраняя их название, но меняя расширение, например, 1.html, 2.html и т.д. переименовать в 1.php, 2.php...? Я делаю сайт знакомств на php и у меня возникла проблема с upload файлов. Все говорят, что там все просто, но у меня не получается. Подскажите, пожалуста,
    1. что надо поменять в файле php.ini
    2. как производить сам upload, с автоматическим переименованием фалов и присвоением ему номера,
    но с сохранением расширения файла: 000001.gif, 000002.jpg
    3. И как осуществить проверку файла (до начала загрузки на сервер) на соответствие правильного
    размера (например, не больше 50kb)? Ошибка, которая возникает у меня следующего рода: при попытке загрузить файл на локальном сервере пишет следующее (хотя такой файл, естественно, существует):
    Warning: Unable to open 'Content-Type: image/tiff; name=\"\"1.tif\"\"
    II*' for reading: No such file or directory in c:\!home\test\www\upload.phtml on line 14
    В php.ini в File Uploads указана директория для загрузки файлов: upload_tmp_dir = c:/temp/

    Сам файл upload.phtml:
    <?
    if($userfile==""): ?>
    <form method=POST action=upload.phtml enctype=multipart/form-data>
    <input type=file name=userfile>
    <input type=submit>
    </form>
    <?
    else:
    echo "$userfile<br>";
    echo "$userfile_name<br>";
    echo "$userfile_size<br>";
    echo "$userfile_type<br>";
    endif;
    copy($userfile, $userfile_name);
    ?> В чем может быть причина возникающей у меня ошибки?
    Как реализовать на PHP следующее: У меня есть файл 1.txt, в котором находятся пословицы, и я хочу, чтобы они выбирались случайным образом для дальнейшего включения в страницу?

    Ответ:
    Вообщем Apache у тебя в mime.types незнает такой строки: image/tiff tiff tif в это и проблема, у меня все работает!
  7. Вопрос по PHP:
    Как считать из переменной окружения QUERY_STRING значение переменной name, которая не указана
    в форме, но которая является частью ссылки?
    Т.е.
    http://site/index.php?name=1
    http://site/index.php?name=2
    http://site/index.php?name=3
    В странице index.php происходит включение с помощью следующего инклюда
    <? include "menu.php";?>
    <? include $name.".txt"; ?>

    А файл menu.php следующего содержания
    (задача была красить активные ссылки в другой цвет и убирать тег <a href>,
    чтобы человек видел где он находится в данный момент):
    <?
    for($i=1; $i<11; $i++){
    $tmp=$i;
    echo "<a href=index.php?name=$tmp>$tmp</a>"."&nbsp;&nbsp;</font>";
    if($tmp) -- как здесь проверить равенство переменных $tmp и переменной из строки
    запроса $name?
    {
    echo "<font color=green>".$tmp."&nbsp;&nbsp;</font>";
    }
    else{
    echo "<font color=brown><a
    href=poezia.php?name=$tmp>$tmp</a>"."&nbsp;&nbsp;</font>";
    } }?>

    Ответ:
    Да так и проверить: if($tmp == $name) В PHP все переменные создаются автоматически. Только, насколько я помню, если и в GET и POST есть одноименные переменные, будет записано значение POST. mouri.
  8. У меня несколько вопросов:
    1. Если php подключен как модуль у меня выполняются не все скрипты например:
    header ("Content-type: image/jpeg");
    $path="image.jpg";
    $im=fopen("$path", "r");
    fpassthru($im);
    должна появиться картинка, но ... Как cgi приложение все нормально Стоит apache_win32+php4.x
    2. Подскажите где подробно почитать, как привязать к Apache mySQL? Лучше на русском ;)
    3. Почему когда я создаю картинку средствами php, текст, который я пишу по-русски превращается в абракадабру. Я понимаю что это проблема со шрифтами. Как мне это исправить?

    Ответ:
    Про настройку apache(и MySQL тоже) есть в веб клубе - "Apache + Perl + PHP3 + MySQL для Windows 95/98 " http://www.webclub.ru/content/servers/article-152.html если ссылка не работает ищи по слову apache. mouri.
  9. Просьба не посылать читать FAQ (или подскажите где взять по емейлу),
    как поднять Apache под Мандрейковский Linux 7.2

    Ответ:
    Вообще то даже руссих мануалов по жтому вопросу пруд пруди. Ну да ладно, не хочешь читать - расскажу. (хотя если не читать мануалы - далеко не уедешь).
    1. Ставишь из Портов сам апач.
    2. Правишь файл конфигурации httpd.conf ( у меня BSD, поэтому лежит он в /usr/local/etc/apache - у тебя может быть в другом месте.) если нужно конечно. 3. Заливаешь в директорию /usr/local/www/data свои страницы. ( опять же путь для BSD - у тебя может быть другой.).
    Для удобства можно поменять местонахождение директории с сайтом - просто создаешь нужную тебе структуру директорий и правишь файл конфигурации апача, чтобы в нем нужные параметры указывали на твою директорию. Какие параметры - обьяснять долго. Если знаешь английский - то в конфиге тебе будет достаточно просто прочитать комментарии. Если нет - то на любом сайте с документацией сто процентов есть дока на русском. Или если апач у тебя русский - то припервом же запуске броузера на свежеотинсталленом апаче ты получишь русскую доку по нему.Kot Angens ( ctg@rambler.ru )


  10. У меня вопрос по PHP: Есть файл insert.php, в нем есть форма для ввода данных, которые потом заносятся в базу данных MySQL action формы : action="insert_action.php", т.е. обработка данных производится в файле :insert_action.php. Все данные нормально заносятся, но я решила создать функцию, которая вычисляет по дате рождения знак зодиака, и хотела бы значение этой функции тоже заносить в базу данных. Но у меня возникла проблема с занесением, т.е. функция правильно работает, а в базу значение не заносит. Я пробовала также создавать скрытое поле в файле insert.php и в нем вызывать эту функцию, но рузультат нулевой.
    <input type="hidden" name="zodiac" value="<? check_zodiac($bday, $bmonth); ?>">
    А также в самом файле insert_action.php пыталась присвоть значение функции переменной $zodiac
    $zodiac=check_zodiac($bday, $bmonth);
    echo $zodiac; // печатает все правильно, т.е. в переменной $zodiac содержится правильное
    значение, которое потом д.б. занесено в б.д. В чем м.б. причина того, что данный insert не работает, ведь значение переменной $zodiac он видит?
    $query = "INSERT INTO $userstable VALUES('$name', ...., '$zodiac')";


    Ответ:
    Наверно не ошибся, если Вы задали вопрос №13 от 01-07-2000 то есть сегодня.
    $query = "INSERT INTO $userstable VALUES('$name', ...., '$zodiac')";
    По-моему, нужно типв такого:
    $query = "INSERT INTO $userstable(Field1, Field2, ..., ZodiacField) VALUES('$name', ...., '$zodiac')";
    Кажись, это решит проблему.

  11. как на РНР определить разрешение экрана?

    Ответ:
    А что, джава скрипт не может с этим справится?

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


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

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

PHP для всех! Программируем сами.            <!-- PHP banner --><a target="_blank"  href="http://virtual.bresttelecom.by/php/"><img    src="http://virtual.bresttelecom.by/php/php/php1.gif" border="0" width="88" height="31"
alt="
PHP для всех! Программируем сами."></a>
<!-- PHP banner end -->
PHP для всех! Программируем сами.            <!-- PHP banner --><a target="_blank"  href="http://virtual.bresttelecom.by/php/"><img    src="http://virtual.bresttelecom.by/php/php/php2.gif" border="0" width="88" height="31"
alt="
PHP для всех! Программируем сами."></a>
<!-- PHP banner end -->
PHP для всех! Программируем сами. <!-- PHP banner --><a target="_blank"  href="http://virtual.bresttelecom.by/php/"><img    src="http://virtual.bresttelecom.by/php/php/php3.gif" border="0" width="88" height="31"
alt="
PHP для всех! Программируем сами."></a>
<!-- PHP banner end -->
PHP для всех! Программируем сами. <!-- PHP banner --><a target="_blank"  href="http://virtual.bresttelecom.by/php/"><img    src="http://virtual.bresttelecom.by/php/php/php4.gif" border="0" width="88" height="31"
alt="
PHP для всех! Программируем сами."></a>
<!-- PHP banner end -->

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

  1. http://tweak.tut.by - Оптимизация и настройка компьютера. Если Вас интересуют различные аспекты настройки Вашего мегагерцевого друга, Вам надо посетить сайт посвященный настройке и оптимизации. Кроме того - список последних версий популярных программ и свежие новости, а так же чат, форум и многое другое!

  2. http://www.webclub.lv - Латвийский Клуб Веб-мастеров Наш сайт предназначен для всех кто творит и хочет творить Интернет. Мы предлагаем информацию, помощь и примеры по дизайну. Довольно обширная коллекция скриптов. Статьи, учебники и многое другое.

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

http://virtual.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.vov.ru - программы для бизнеса - это простые решения сложных задач


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

Рассылки Subscribe.Ru
Программируем на PHP - вопросы и ответы
Новости сайта Виртуальный Брест
Оптимизация и настройка компьютера
Кроссворды от К.Ермакова

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


Разное

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


автор рассылки Андрей Кухарчик



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

В избранное