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

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


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

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

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

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

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

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

Учимся считать 

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

Считаем посещения 

Как всегда, для работы нам понадобиться сервер (например – Apache) с установленным гипертекстовым препроцессором РНР, текстовый редактор и немного времени. Для начала давайте разберемся более подробно с поставленной задачей. Есть несколько страниц сайта. Все они, конечно, имеют уникальный адрес – URL. Вот его-то мы и положим в основу нашей базы данных. Для этих целей отведем один файл с именем, например, urlfile.txt. Вторая составляющая статистики – это количество посещений. Мы не будем пока касаться вопроса уникальности каждого захода, а реализуем для начала простой подсчет посещений. Для статистики отведем еще один файл – counter.txt (жалко, что ли…? :-). Сам скрипт разместим в файле log.phtml, а вывод результатов – в файле index.phtml. Все четыре файла полезно вынести в отдельную директорию, что бы в дальнейшем не запутаться. Она у нас будет названа – count. Не забывайте, что на файлы, в которые будет осуществляться запись (у нас их два – с расширением .txt), нужно установить соответствующие атрибуты, разрешающие в них запись, иначе скрипт выдаст ошибку. 

Когда все готово, можно начать программировать. В первую очередь сделаем файл log.phtml, как самый главный. Открываем свежесозданный файл в текстовом редакторе (можно и в блокноте), и прописываем туда следующие строки:

<?
if($QUERY_STRING != "")
{ $url = $PHP_SELF.'?'.$QUERY_STRING; }
else { $url = $PHP_SELF; }
 

Этим кодом мы считываем адрес, с которого вызывается скрипт. Этот адрес прописан а переменной окружения $PHP_SELF, но нужно учитывать, что в адрес вполне могут быть включены параметры, которые идут после вопросительного знака, и считать их можно уже из переменной окружения $QUERY_STRING. Итак, если эта переменная у нас пуста,   адрес считывается из $PHP_SELF, если нет, адрес комбинируется из двух переменных окружения. 

$add = $DOCUMENT_ROOT."/count/urlfile.txt";
$adds = $DOCUMENT_ROOT."/count/counter.txt";
$li = file($add);
$a = count($li); 

Здесь мы формируем пути, по которым скрипт будет искать файла для записи данных статистики. $DOCUMENT_ROOT – тоже переменная окружения, и в ней хранится абсолютный путь (адрес) к Вашему сайту. Благодаря наличию данной переменной обеспечивается стопроцентная работоспособность скрипта, из какой бы директории он не был запущен. В конце этого кода считываем в массив с именем $li содержимое файла с базой данных адресов. Пока эта база пуста, и массив соответственно пуст.

$i = 0; $w = -1;
while ($i <= $a):
$tmp = trim(str_replace ("\n","", $li[$i]));
if ($tmp == $url) { $w = $i; $i = $a++; }

$i++;
endwhile; 

Этот код отвечает за определение местоположения запрошенного адреса в массиве адресов. Так как пока этот массив пуст, то запрошенный адрес не обнаруживается, и его необходимо туда записать. За это отвечает следующий код: 

if ($w == -1)
{
$fp = fopen($add, "a+"); 
if ($fp) { $fw = fwrite($fp, $url."\n"); fclose($fp); }
$fp = fopen($adds, "a+");
if ($fp) { $fw = fwrite($fp,  "0"."\n"); fclose($fp); }

$w = $a++; } 

Файл адресов и файл количества посещений дополняются новыми данными, учитывается и перевод строки, так как он является разделителем при считывании файла в массив в дальнейшем. Если же запрошенный адрес уже есть в базе данных, этот код не выполняется, так как переменная $w равна номеру позиции запрошенного адреса в массиве адресов. Таким образом, достигается равновесие – если адрес есть, то хорошо, если нет – его туда добавляют, а переменная $w все равно указывает на номер позиции в массиве адресов. В любом случае идем дальше: 

$co = file($adds);
$co[$w] = trim(str_replace ("\n","", $co[$w]));
$co[$w]++; $count = $co[$w];

$co[$w] = $co[$w]."\n"; 

Этот кусочек кода отвечает за загрузку базы данных количества посещений страниц в массив $co и за увеличение на единицу нужной позиции в этом массиве. В переменную $count кладется значение текущего счетчика посещений данной страницы, его можно позже вывести на экран.

 Отдельно стоит рассмотреть вторую строчку, так как она нам уже встречалась. Дело в том, что когда РНР считывает данные из файла в массив, разделителем считается перевод строки. Но это не значит, что он не попадает в массив. Кроме перевода строки, в массив могут попасть пробелы с начала и с конца строки, и от них, равно как и от перевода строки нужно избавиться. Именно это и делает указанная строчка кода. А дальше – увеличиваем показание счетчика, дополняем его переводом строки для корректной записи, и… 

$p=implode("", $co);
$fp = fopen($adds, "w");

if ($fp) { $fw = fwrite($fp, $p); fclose($fp); } 

… записываем весь массив $co в файл. Прежде, чем записать, массив склеивается в одну переменную, и уже она легко записывается. Осталось завершить код тегом окончания кода РНР:

 ?>

 Вот и все, что требовалось записать в самый большой и сложный :-) файл log.phtml. Хочу Вас обрадовать, дальше будет проще. Как я и обещал, мы сделаем вывод результатов на экран, что бы была возможность наглядно оценить посещаемость тех или иных Ваших страниц. За это, как Вы помните, у нас отвечает файл index.phtml. Начнем теперь заполнять кодом его: 

<? include ($DOCUMENT_ROOT."/count/log.phtml"); ?> 

Вот так, кстати, будет вызываться наш скрипт статистики. Подобная вставка вызовет либо пополнение базы данных адресов, либо увеличение соответствующей позиции счетчика на единицу. Мы могли бы и не учитывать в рейтинге страницу результатов, но никто нам этого не запрещает. А сами результаты не плохо бы разместить в таблице: 

<table align="center" border="1"><?
$add = $DOCUMENT_ROOT."/count/urlfile.txt";
$adds = $DOCUMENT_ROOT."/count/counter.txt";
$li = file($add);
$co = file($adds);
$a = count($li);  

Ну, эта часть нам уже до боли знакома. Блок кода практически ничем не отличается от такого же блока в файле log.phtml. Мы узнали адреса файлов базы данных и ввели информацию в массивы. Осталось ее только вывести, предварительно отформатировав тегами HTML:

 $i = 0; $w = 0;
while ($i < $a):
echo "<tr><td>

<a href=$li[$i]>$li[$i]</a>
</td><td>$co[$i]</td></tr>";
}
$i++; endwhile;?></table> 

Теперь наши результаты будут выведены в таблице в виде адрес – количество посещений. Вот и вся работа! В заключение хочу еще раз напомнить, что вызов скрипта статистики осуществляется следующей командой: 

<? include ($DOCUMENT_ROOT."/count/log.phtml"); ?> 

Достаточно вставить этот код в любое место любого файла (но только с раснирением для РНР!), и он будет проиндексирован в базе данных, и в дальнейшем каждое его посещение будет учитываться. Если Вас интересует пример – посмотрите как работает подобный скрипт на сайте http://virtual.bresttelecom.by . Удачных Вам подсчетов!

Андрей Кухарчик @ сентябрь 2001 virtualbrest@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://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 и многое другое.


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

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

BD04924_.WMF (20850 bytes)

Приветствую, Андрей.
_________________________________________________________

Являюсь постоянным читателем твоей рассылки и весьма доволен ею, НО
...
Вот на этом вот НО и хочу остановиться. Как мне кажется раньше она была ближе человеческой логике и было видно, что ты над ней работаешь. Вспомни такие выпуски как Обработка форм или Пишем гостевую книгу. Теперь же очередной выпуск твоей рассылки ни что иное, по-моему, как
выписка с русского мануала по РНР с комментариями. Хотелось бы учиться вместе с тобой, твоя кстати бодяга :). Чтобы представить, что я за фрукт, можешь посмотреть мой гестбук на РНР
по адресу http://woo.h1.ru/index.php - это всего лишь переделка, но ТОЛЬКО благодаря твоим ранним выпускам я смог разобраться что к чему и установить её :). Кстати попутно тебе вопрос: как скопировать файл с хостинга www.h1.ru если они это запрещают даже владельцам сайтов!!! Т.е. залить файл залил, а назад ни-ни, вот так и мучаемся, кстати на каком хостинге твой сайт?
За сим всё, заранее благодарен за ответы и критику ;^)=)
_________________________________________________________

С наилучшими пожеланиями,
woofer [ wooferua@lycos.ru ]

посетите мой сайт http://woofer-ua.org

Спасибо за критику! Все поднятые проблемы действительно существуют. Но они - отражение одной. Это острая нехватка времени на новые материалы. В связи с чем я обращаюсь к читателям - ВЫРУЧАЙТЕ!!! Мне нужны авторские материалы по РНР. Можно коротенькие, это не важно. Главное - толковые! Со своей стороны гарантирую рекламную поддержку. Пишите, если что...


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

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

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

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

Вопросы: 

  1. У меня вопрос. Возможно ли организовать такое: Допустим я организовываю на сайте клуб друзей или еще что-нибудь подобное. По правилам каждый участник должен разместить у себя на сайте мой
    html-код. Всё хорошо когда участников мало, но если их около 50, то проверить в  ручную разместил ли каждый у себя html-код очень проблематично. Как сделать так, чтобы автоматом проверялись указанные url на наличие  html-кода:  если всё ок, то хорошо, а если нет, то отравлять мне сообщение на дополнительную проверку.
    Самое простое что приходит в голову - прочитать чужой html в переменную  найти есть ли в ней указанная комбинация символов (мой html-код,   который я хочу  контролировать). Я запнулся на самом первом этапе.
    Я сделал так:
    <?
    $fp = fopen("http://127.0.0.2/", "r");
    $string = "";
    while (!feof($fp)) {
    $string .= fgets($fp, 2000);
    }
    $string = str_replace("\n","",$string);
    print $string;
    ?>
    , но у меня 2 разных сайта на локалхосте. Проблема в том что на одном  всё  работает: т.е. весь html превращается в одну строчку без переносов.  На втором никакой разницы: как выводил построчно так и продолжает.  Подскажите что-нибудь по этому поводу.
    ответить
  2. Часто вижу в мануалах в качестве примеров переменные $foo, функции foo и т.д. А чего это такое — foo? Я смотрел в словаре — нету. Может, кто знает?
    ответить
  3. Есть хостинг на php - только обрезанный и когда я пытаюсь с помощью crypt()произвести сверку пароля - ничего не выходит ... - можно сделать что бы при регистрации пароль, который получается, и впоследствии при аутентификации просто во время проверки пароля не проверять его, а генеря сверять с тем что лежит в текстовом файле - Вот как это можно сделать (хотелось бы увидеть написанный код), т.к. у меня ничего не выходит :( (можно "мылом") Alexey avb@mail.ru
    ответить
  4. Можно ли сделать форум без MySql если можно, то скажете где можно взять такой скрипт. http://spider.vov.ru spider@vov.ru
    ответить
  5. Я использую ОС Windows 2000 Server. Хочу установить систему  Apache+PHP+Perl+MySQL. Пытался, не смог настроить файл конфигурации. Если кто-либо знает как это сделать, пожалуйста, помогите.
    С уважением, Виктор Назаренко.
    ответить
  6. Как с помощью команды mail() отправлять письма копии(Поле cc: и ccb:)
    ответить
  7. у меня сервер понимает только разрешение php, а phtml воспринимает, как обычный html.. отсюда и вопрос: можно ли сделать отдельно скрипт в разрешении php, а потом прилепить его к html? а то нравится мне ваша гостевая книга, а использовать я ее не могу :(( на экране получается следующее: (image1.gif)
    ответить
  8. Здравствуйте. Скажите, а как послать мейл? Я смотрел в доке, там единственно что есть, это  функция mail("Кому", "Сабж", "ТелоПисьма");  Когда запускаю эту функцию, ПеХеПе выдаёт Unknown Error. Мой ПеХеПе под Вин32. Может, там модуль нужно подключить? Помогите pliz. Очень надо. С ув. Александр.
    ответить
  9. У меня вопрос. Что я делаю не так? Пример для простоты У меня есть файл :
    item 1
    item 2
    item 3
    item 4
    item 5
    Я читаю его
    $data =file("text.txt");
    Затемем
    for
    =0;$i<count($data);$i++){
    $data[$i] = ereg_replace("\n","",$data[$i]);
    print "$data[$i]";
    }
    Я добиваюсь, чтобы получилось
    item 1item 2item 3item 4item 5
    Но у меня всё равно выводится
    item 1
    item 2
    item 3
    item 4
    item 5
    Пожалуйста где ошибка?

    ответить
  10. Люди, помогите- вышлите кто-нибудь вразумительную документацию по сессиям!
    xa4kep@tut.by

    ответить

    Ответы на заданные вопросы:
  1. У меня Apache+PHP+Oracle Вопрос следующий: есть код
    --------------------------
    $sql = "select rate1 as rate from GameData order by rate1 ";
    $conn = connect();
    $stmt = OCIParse($conn,$sql);
    $exe=OCIExecute($stmt);
    if (!$exe) { error();}
    $nrows = OCIFetchStatement($stmt,$ress);
    OCIFreeStatement($stmt);
    OCILogoff($conn);
    if ( $nrows == 0 ) { error(2); }
    $rate = $ress["RATE"][0];
    --------------------------
    и собственно вопрос касается последней строки.    как из массива $ress получить массив только со значениями. типа :
    $array[] = $ress["RATE"][1];
    $array[] = $ress["RATE"][2];

    Ответ:
    В корневой директории твоего сайта положи текстовый файл .htaccess с таким содержимым:
    ErrorDocument 404 /index.php
    ErrorDocument 403 /index.php
    ErrorDocument 401 /index.php
    ErrorDocument 500 /index.php
    DirectoryIndex /index.php
    Это обеспечит тебе то, что при любой описанной ошибке будет не белая страница Ослика ИЕ, а твой индекс. Кроме того индексный файл, который будет вызываться на запрос вида www.###.## будет твой index.php. .htaccess действует на директорию в которой он лежит и все поддиректории,
    если там нет своего файла .htaccess.

  2. Есть сеть майкрософт. Установил по инструкциям Apache, но с других машин на мой сайт выйти не возможно (пишет, что сервер не найден). Что делать?  Наверное как-то надо настраивать другие машины? За раннее благодарен. Vlad. vladilov@express.kiev.ua

    Ответ:

    Надо сделать на Твоей машине сервер Apache при помощи описания в файле hosts, а с других машин доступаться по сетке на эту машину по тому адресу который ты описал в том файле, т.е.
    http://localhost/index.html. Если не поможет это, то можно сделать через сервер удаленного доступа, задав ip Твоей машине, а с других доступаться через конект к нему указывая в строке адреса браузера
    тот самый ip.Если что пиши на мой адрес. Андрей froggy@tsrv.ru

    Это из-за отсутсвия протокола TCP/IP. Поставь контроллер удаленного доступа(Dial-Up Adapter) и протокол. Все должно заработать. Если что - пиши l0g_err@xakep.ru

    В адресной строке нужно указать IP адрес машины, на котором установлен апачи. Денис, tweak@yandex.ru  , Оптимизация и настройка компьютера - www.tweak.tut.by


  3. Я поставил себе apache 14 и попытался прикрутить к нему php 4.06 сделал я это так Написал я в httpd.conf
    AddType application/x-httpd-php php phtml php3
    ScriptAlias /_php/ "C:/Program Files/PHP/"
    Action application/x-httpd-php "/_php/php.exe"

    В php.ini ничего не менял. Как установил мне его php406-installer.exe так и все. Запускаю свою страничку. При этом часть php-скриптов запускается   нормально, а часть пишутся ошибки. Например скрипт голосования: При этом пишется ошибка
    Warning: Undefined offset: 5 in x:\www\golos.phtml on line 7
    Тоесть в строке $a[$i] = trim(str_replace ("\n","", $a[$i])); Когда я скрипт заливаю на сервер то там он работает нормально Что делать?

    Ответ:

    Честно говоря не понялл фразу: "Когда я скрипт заливаю на сервер то там он работает нормально". Если только имеется в виду запуск php из командной строки. Лично я все запускаю из-под сервера. Как оно будет в реальной жизни. Чтобы не пудрить себе мозги и не разбираться в особенностях того или иного запуска. А по Вашему скрипту я вижу одну неточность. 4-я его строка выглядит так:
    $i = 1; $fi = Count($a);
    $i в дальнейшем используется как индекс массива $a. Но массивы индексируются диапазоном 0..count(...).
    Т.е., чтобы пробежать весь массив надо писать:
    $i=0;
    $fi=count($a);
    while ($i<$fi)
    {
    ..........
    $i++;
    }
    Хотя с функцией file я не работал, но массив он и в Африке массив... И еще одно замечание. Конструкции вида
    $a[$i] = trim(str_replace ("\n","", $a[$i]));
    работают нестабильно (это мой сугубо личный опыт). Такие вещи я всегда пишу так:
    $_tmp = $a[$i];
    $a[$i] = trim ( str_replace ( "\n", "", $_tmp ) );
    Павел, Донецк, Украина. pavel@imail.dc.ukrtel.net

    Это скорее всего потому, что у Тебя не подключены модули расширений РНР. в установках php.ini должно быть какая-то библиотека закоментирована, которая  отвечает за работу со строками. поройся в доках по РНР. Если что пиши. Андрей froggy@tsrv.ru

    попробуй так:
    <?
    $fp=fopen($DOCUMENT_ROOT."/dist/1/1.txt","a");
    fputs("$fp","Ответ: $name<br>$otvet\n");
    fclose($fp);
    ?>
    или так:
    <?
    $fp=fopen("1.txt","a");
    fputs("$fp","Ответ: $name<br>$otvet\n");
    fclose($fp);
    ?>
    Первый вариант предпочтительней. Скрипт не может найти тот файл, который ты открываешь.
    Если не получится - пиши l0g_err@xakep.ru


  4. День добрый! Можно ли еще с помощью php узнать размер окна и изменить размер окна.

    Ответ:

    Конечно нет!

    Да если ПШП вернет скрипт (ява, вб-скрипт, ... ), которые это и делают через объект Window]

    Нет. Но для этого можно использовать JavaScript и его передавать результаты выполнения скрипта в PHP

    Ето можно сделать только JavaScript'ами.

    Какое окно имеется в виду??? Если окно клиентского броузера, то размер можно только узнать. Если хотите - пришлю соответствующие рекомендации и скрипты. А вот изменение - это уже вмешательство в личную жизнь. А PHP в личную жизнь не вмешивается. Можно только открыть вторичное окно броузера, используя JavaScript. Если интересно - пишите.
    Павел, Донецк, Украина. pavel@imail.dc.ukrtel.net

    Нет, только с помошью Java:
    <script>
    var s=screen;var d=document;
    d.write('Разрешение экрана '+s.width+'x'+s.height+'</FONT>.');
    </script>
    С наилучшими пожеланиями, Денис, tweak@yandex.ru  , Оптимизация и настройка компьютера - www.tweak.tut.by


  5. Здравствуйте!
    Такая проблема: у меня установлен Арасhe 1.3.20 и PHP 4.0.5. Apache имеет виртульные хосты с маской 127.0.0.x, на этой же машине стоит proxy-server, у него хосты с маской 192.168.0.x.
    Когда запущено все - клиенты не могут пробиться в интернет, а падают на апачевский localhost 127.0.0.1
    и естественно хватают тот index.html, который там лежит. Если localhost в Apache отключить, то просто получают стандартную ошибку, что сайт не доступен. Apache отключаю - все нормально - интернет для proxy-вых клиентов доступен. Подскажите как развести Apache-сервер с Proxy-сервером, чтобы они одновременно работали, если это вообще возможно.
    Спаибо за внимание, Владимир.

    Ответ:
    Re: не видит переменные, отосланные ему.
    Конечно не видит. Чтобы видел, нужно не POST a GET. А если GET не хочешь, тогда тебе сначала нужно поприсваивать данные из формы через   переменную $HTTP_POST_VARS (кажись так). Это массив.
    Нужно типа такое:
    $name = $HTTP_POST_VARS['name'];
    Вот такое и внеси в свой mail.php3. С ув. Александр.

    Была похожая ситуация с Wingate. Оба они на 80 порт лезут. Совет только один - разнести.

    У меня похожая проблема. Я сделал себе в Apache еще один хост с именем моего сайта, а когда выхожу в инет сайт не открывается. Приходится удалять ip и хост из файла HOSTS || www.nokstr.dax.ru ||

    видимо проблма заключается в том, что у прокси и апача стоят одинаковые порты... т.е. 80... и действительно, юзера пытающиеся пробиться на проксю, попадают на локалхост... измени в конфиге апача порт... на скажем 8080... или в проксе... но тогда надо настраивать юзеров... а это тоже время... на сием все. Wahoven < wahoven@mail.ru >

    На клиентских машинах в настройках прокси у браузера надо выставить "не использовать прокси сервер для локальных адресов" и прописать  IP-адрес сервера. Только обращаться к Apache на прокси придется только прописав в адресной строке IP-адрес.

    Была такая же проблема в институте при настройке UBB вышел просто, в настройках апача (где виртуал хосты прописываются) проставил внутрисеточный IP машины и все заработало!


  6. Вопрос и проблема заключается вот в чём: когда я в массив из файла загоняю построчно адреса нужных мне страничек, то при обращении:
    $mass_from_f=File(файл_со_списком_адресов);
    include ($mass_from_f[номер_элемента]);
    выдает ошибку мол " include_path='' " и ещё что-то. на сколько я понял include_path - это переменная рабочей дирректории по умолчанию, и дальше можно строить адреса без полного адреса, т. е. без http://www.localhost/ - я работаю на локальном апаче с пхп4). если же просто писать:" include("some_dir/file.txt"); ", то всё нормально, а вот с элементом массива не хочет работать:(
    может я дурак и что-то делаю не так, то подскажите   и второй вопрос ГДЕ найти полностью описание всех ограничей или правил использовния include() а то как не искал ничего толком найти так и не смог...
    помогите кто сможет, prodin17@mail.ru

    Ответ:
    Re: чтобы имя пользователя, которое он ввел, тягалось за ним по всему сайту. Если у тебя вход через форму с GET Action, тогда никаких проблем. Просто потом, после нажатия субмита и перехода на, скажем index.php, все  ЮРЛ в этом файле (и во всех остальных на твоем сайте) напиши так:
    <A Href="index01.php?<?Echo $Name;?>"> и т.д.
    Только при условии, что в строке броузера будет
    http://host/index01.php?name=vasia&lastname=vovochkin
    А чтоб в строке броузера было вышеуказанное, используй форму с GET Action. Ну, а в остальное сам вдуплишься. Синсерли. Ал.

    Сделай так:
    <html>
    <body>
    Здесь вы можете отправить свое сообщение
    <form action="mail.php3" method="POST">
    Адресат:
    <Select name="nam">
    <Option selected value="webmaster">webmaster</Option>
    <Option value="ВАСЯ">ВАСЯ</Option>
    <Option value="ПЕТЯ">ПЕТЯ</Option>
    <Option value="КОЛЯ">КОЛЯ</Option>
    </Select>
    <br> Отправитель: <input type="text" name="frm"><br>
    Текст сообщения:<br> <textarea cols=30 rows=5 name="txt"></textarea>
    <br>
    <input type="submit" value="Отослать">
    </form>
    </body>
    </html>
    ======mail.php3:======
    <html>
    <body>
    <?php echo "Адресат: .$nam.<br>";
    echo "Отправитель: .$frm.<br>";
    echo "Текст сообщения:.$txt"
    ?></body></html>
    Постарайся уйти от русских имен, передаваемых в заголовке. Если не заработает - измени метод на GET - в командной строке сразу увидиш,  что передается в скрипт. Или можешь воспользоваться системной переменной $REQUEST_URI. (только для этого ПХП должен быть устновлен как mod Apache).


  7. Как отконфигурить ПХП для того чтобы создавались сессии? в php.ini прописано session.save_path = /temp но сессии не создаются. У меня установлен Апач для Win9x с PHP4.

    Ответ:
    "/tmp" это для POSIXа. Для винды используй "c:/temp" или еще что-нибудь.

    Для Win32 (9x/NT/2000 и пр.) нужно писать полный путь в стиле этих ОС:
    session.save_path = D:/web files/tmp (например).
    А насчет работы с сессиями - мануал. Раздел "Session functions" Если есть вопросы - пишите письма мелким почерком на e-mail - расскажу. Павел, Донецк, Украина. pavel@imail.dc.ukrtel.net

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


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

Предлагаю Вам стать участниками баннерообмена. Ваши ссылки и описания Ваших сайтов вы можете присылать по адресу рассылки - 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.vov.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 - голосование на Вашем сайте.Сервис для всех вебмастеров, которые хотят сделать свой сайт более интерактивным. Позволяет организовать опрос мненияпользователей на любом сервере.


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

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

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


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



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

В избранное