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

Создать профессиональный web-сайт - легко! (выпуск 13)


Информационный Канал Subscribe.Ru

Создать профессиональный web-сайт - легко!
Создать профессиональный web-сайт - легко!
или
все о PHP шаг за шагом.

     Сегодня в выпуске (N 13):
1 марта 2005 года 
     ВНИМАНИЕ !!!
тираж выпуска: 4000 
- От автора (рекомендуется прочитать)
- Новое на форуме
       ∙ задать вопрос
- Автору


Сайт рассылки

- Поиск / Новости сайта
- Статьи
- Скачать
- Гостевая книга
- Форум
- Регистрация

Архив рассылки
     На сайте появился ПОИСКОВИК по сайтам web-програмирования и дизайна. Не верите? Заходите и смотрите! Подробнее >>

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

  28.11.04 Изменилось оформление главной страницы форума. Смотреть >>
А также теперь можно скачать документацию и не одну в разделе Скачать.

     От автора (рекомендуется прочитать):
Добрый день, уважаемые подписчики.

     Рассылка долго не выходила. Но на это были свои причины. Нет. Я не забыл о ней. Просто у меня не было времени. Также имели место и технические неполадки. Сейчас снова все вродебы исправно работает. Надеюсь так будет и дальше. Написать статью, как я уже говорил, не было времени. Поэтому ее здесь нет. Постараюсь написать в следующем выпуске (тобишь N 14). Ну а пока выкладываю все новые сообщения в разделе "Новое на форуме".

     Если у Вас есть сайт тематики web-программирования или дизайна, Вы можете добавить его в Базу Данных поиска, что, вероятно, поможет в его раскрутке, а у пользователей поисковика будет больше результатов поиска. Все свои предложения и пожелания можете оставлять на форуме в разделе "По сайту".
     Новое на форуме:
Вопрос № 1. От: Genry:
По некоторым причинам, я не могу скачать программы и DOC"и в .exe формате :-(.
Возможно, что не я один.
Пожалуйста, выкладывайте, прграммы и DOC"и в заархивированном виде (ZIP, RAR).

Отвечает: Serega:

Хорошо. Приму к сведению.

Помочь | Задать свой вопрос

Вопрос № 2. От: Ник:
Люди-програмеры скажите как реализовать проверку какой-либо инет страницы на наличие определенной фразы... =(
Т.е. и страница и фраза заранее известны.

Отвечает: Serega:

аналогичичный пример, как в предыдущей теме "Считывание поля":
<?

$x = -1; // определяем x
$string = ""; определяем string
$page = "http://ya.ry/"; // страница, в которой искать

function find($page) функция find: ищем символ "<", с которого начинается строка "<input name=poisk value=" в html-коде страницы
{
global $i; // опрделяем область видимости переменной вне функции
$file = file($page); // читаем в массив file странцу
for($i = 0; $i < count($file); $i++) // читаем поочереди кажый элмент массива
{
for($x = 0; $x < strlen($file[$i]); $x++) // читаем поочереди кажый символ этого элмента
{
$char = $file[$i][$x]; // выбираем символ
if($char == "<" && $x + 25 < strlen($file[$i])) if(substr($file[$i],$x,24) == "<input name=poisk value="){ $x = $x + 24; return $x; } если нашел вернуть x, с которого начинается "<input name=poisk value="
}
}
}

function recive($page, $x){ // функция recive для того, чтобы считать строку после "<input name=poisk value=" и до окончания тега, т. е. до ">"
global $i; // опрделяем область видимости переменной вне функции
$file = file($page); // читаем в массив file странцу снова

$char = ""; $string = "";

while($char != ">" && $x != " " && $x < strlen($file[$i])){ // цикл пока символ будет не ">", " ", или строка не закончится
$char = $file[$i][$x]; // читаем символ
$string .= $char; // добавляем к строке string
$x++;

}

return $string;
}

$x = find($page); // определяем x
if($x > -1) $string = recive($page, $x); // если x опрделено (x > -1) читаем строку
echo $string; // выводим результат работы на экран
?>


p.s.: Вопрос, конечно, отличается, но если разбаться, то легко можно переделать. Если же не получиться, то я всегда рад помочь. Удачи!

Помочь | Задать свой вопрос

Вопрос № 3. От: DeeJay OuKay:
Какой функцией можно удалить файл?
У меня такая трабла:
Хочу переименовать файл, используя функцию rename. Если файл с новым именем существует, мне надо его заменить, но функция выдаёт ошибку...

Логично было бы тогда сначала удалить файл, а потом сделать переименование. Но вот названия функции не знаю...

Отвечает: Serega:

Я этой функцией пользовался. Я ее знаю, но не помню. Обещаю, что напишу о ней, завтра или послезавтра.

Помочь | Задать свой вопрос

Вопрос № 4. От: VIP_:
Приветствую!
Подскажите тонкость про формы....
Есть обычная формочка, где данные сначала передаются в сценарий
<form action="post_m.php" ...... >

Так вот влияет ли параметр типа кнопки (отправить), на выполняемые действия. При условии что данные должны передаться только после проверки в сценарии:

<input type="Button" value="отправить">
или
<input type="Submit" value="отправить">

С Уважением.

Отвечает: Serega:

Вот после нажатия этой кнопки данные передаются программе:
<input type="Submit" value="отправить">

А уже в самой программе идет проверка и. т. д.

Если надо, чтобы проверка шла вперед нужно использ. JaveScript. Но я его плохо знаю и помочь с ним не могу. А по PHP, пожалуйста.


Отвечает: VIP_:

Получается, что action игнорируется? Вернее менее приорететен?
Если тип кнопки поставить Button, то передача данных в сценарий не происходит, так?


Помочь | Задать свой вопрос

Вопрос № 5. От: KOTer:
Здравствуйте. Существует файл main.php. Его синтаксис
<?php
include("head.php");
include("left.php");
include("right.php");
/*далее в нем блоки информации*/
?>
$add1
$add2 и т.д.
<?php
include("foot.php");
?>
Подскажите пожалуйста как можно в зависимости от ссылки на данный
main.php выводить различные блоки информации. Я понимаю, что вопрос
ламерский, но никак не могу разобраться с этим оператором
выбора / if...else. Например ссылка на блок add1 должна
выглядеть как www.my_site/main.php?add1 или как-то иначе?
Если возможно поподробнее.
Базы данных не интересуют.

Отвечает: Serega:

Все очень просто. Если нужна строка www.my_site/main.php?add1, то вот примерно так:

if($QUERY_STRING=="add1"){
...
}elseif($QUERY_STRING=="add2 "){
...
}elseif($QUERY_STRING=="add3"){

}и так далее...


P. s.: ламерских (или глупых) вопросов не бывает. Бывают глупые ответы. Если ты не знаешь, как ответить на этот вопрос, значит он уже не такой уж и легкий.

Помочь | Задать свой вопрос

Вопрос № 6. От: Ник:
Доброе время суток!
Вот вопрос к вам, товарищи кодеры:
Каким образом можно считать первые n символов с текстового поля web страницы??
Допустим, мы должны считать первые 7 символов поля ввода страницы www.yandex.ru ...
Я понимаю, что это поле пустое, но это пример))
Представим, что там написано:
"Гумилев заблудившийся трамвай"
А скрипт, например, через echo мне выдает:
"Гумилев"
Заранее благодарю за помошь!

Отвечает: Serega:

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

substr($e[1],0,7)

Нет проблем всегда обращайтесь за помощью!


Отвечает: Ник:

Спасибо, конечно, но мне как раз нужно было эту самую $e получить с сайта который мне не принадлежит, но я точно знаю его адрес и имя текстового поля....
пусть это будет www.yandex.ru где есть поле <input name=poisk...
А вот как получить $e, равную $poisk на том сайте...


Отвечает: Serega:

Загрузить то страницу легко:

$page = file("http://yandex.ru");

А вот найти строку будет сложнее. Если уверен, что поле будет называться именно <input name=poisk...>, то все немного попроще, особенно, если там есть ковычки. Нужно прогнать весь текст с помощью цикла и проверять каждый символ. Вот примерно так (вариант без ковычек):



<?

$x = -1;
$string = "";
$page = "http://yandex.ru";

function find($page)
{
global $i;
$file = file($page);
for($i = 0; $i < count($file); $i++)
{
for($x = 0; $x < strlen($file[$i]); $x++)
{
$char = $file[$i][$x];
if($char == "<" && $x + 25 < strlen($file[$i])) if(substr($file[$i],$x,24) == "<input name=poisk value="){ $x = $x + 24; return $x; }
}
}
}

function recive($page, $x){
global $i;

$file = file($page);

$char = ""; $string = "";

while($char != ">" && $x != " "){
$char = $file[$i][$x];
$string .= $char;
$x++;

}

return $string;
}

$x = find($page);
if($x > -1) $string = recive($page, $x);
echo $string;
?>



Отвечает: Ник:

СПАСИБО БОЛЬШОЕ!
ОЧЕНЬ ПОМОГ!


Отвечает: Serega:

Нет проблем. Заходите еще.


Отвечает: Ник:

Зашел))) - опять проблема:

<DIV id=searching><B class=medium>http://www.ya.ru/</B></DIV>

что делать если мне нужна строка
http://www.ya.ru/
как ее раздобыть?

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



Отвечает: Serega:

вот код с коментариями:

<?

$x = -1; // определяем x
$string = ""; определяем string
$page = "http://ya.ry/"; // страница, в которой искать

function find($page) функция find: ищем символ "<", с которого начинается строка "<input name=poisk value=" в html-коде страницы
{
global $i; // опрделяем область видимости переменной вне функции
$file = file($page); // читаем в массив file странцу
for($i = 0; $i < count($file); $i++) // читаем поочереди кажый элмент массива
{
for($x = 0; $x < strlen($file[$i]); $x++) // читаем поочереди кажый символ этого элмента
{
$char = $file[$i][$x]; // выбираем символ
if($char == "<" && $x + 25 < strlen($file[$i])) if(substr($file[$i],$x,24) == "<input name=poisk value="){ $x = $x + 24; return $x; } если нашел вернуть x, с которого начинается "<input name=poisk value="
}
}
}

function recive($page, $x){ // функция recive для того, чтобы считать строку после "<input name=poisk value=" и до окончания тега, т. е. до ">"
global $i; // опрделяем область видимости переменной вне функции
$file = file($page); // читаем в массив file странцу снова

$char = ""; $string = "";

while($char != ">" && $x != " " && $x < strlen($file[$i])){ // цикл пока символ будет не ">", " ", или строка не закончится
$char = $file[$i][$x]; // читаем символ
$string .= $char; // добавляем к строке string
$x++;

}

return $string;
}

$x = find($page); // определяем x
if($x > -1) $string = recive($page, $x); // если x опрделено (x > -1) читаем строку
echo $string; // выводим результат работы на экран
?>



Отвечает: Ник:

Katajikenai, Serega-san :)


Отвечает: Serega:

А по-русски?


Отвечает: Ник:

СПАСИБО ТЕБЕ ОГРОМНОЕ!!!


Отвечает: Serega:

Нет проблем. Заходите еще.

Помочь | Задать свой вопрос

Вопрос № 7. От: plot :
Здравствуйте!
- имеется файл index.php и в нем определено значение строковой переменной $KatPrint
- из файла index.php вызывается страница cat/cat.php, к которой в ее начале подключается (include) файл
design/top_up.html
- в последнем файле design/top_up.html требуется вставить в теги <title>
значение переменной $KatPrint, то есть чтобы получилось что-то вроде
<title>$KatPrint</title> (может в двойных кавычках)
Я пробовал по-разному, но переменную $KatPrint в файле top_up.html не видно, отсюда вопрос:
как передать переменную $KatPrint в файл top_up.html, обращение к
которому происходит не непосредственно из файла index.php, а через подключение
его к вызываемому файлу (cat/cat.php).

Буду призателен вам за любую помощь.

С уважением
Евгений
Помочь | Задать свой вопрос

Вопрос № 8. От: La:
Здравствуйте, Сергей! А возможно ли в следующих выпусках рассылки затронуть такие темы как:
1. Постраничный вывод сообщений в гостевой книге.
2. Возможность ответа на сообщение в гостевой?

Отвечает: Serega:

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

А затем в следующих выпусках и возможность ответа на сообщение в гостевой.

Ждите!


Отвечает: DeeJay OuKay:

Ну, лично мне это будет не так интересно, так как разобрался сам :)
Вот интересно было бы узнать про работу PHP с куками и с файлами. Тока с файлами, не как с источниками данных, а как с частью файловой системы...

Ждём-с :)

Помочь | Задать свой вопрос

Вопрос № 9. От: Ancient:
Здравствуйте!

Подскажите, пожалуйста, как реализовать смену 3х опросов через каждые 3 дня? Т.е. 1 опрос идет 2 дня, потом меняется на 2, через 2 дня на 3, а потом опять 1 и так постоянно.

<form> здесь код 1 опроса </form>
<form> здесь код 2 опроса </form>
<form> здесь код 3 опроса </form>
Если не сложно, покажите, пожалуйста, как это сделать на PHP. Я вот только начал изучать и пока еще дите :)

Отвечает: Serega:

$voit = array(); // определяем формы для голосований
$voit[0] = "<form action=voit.php?voit=0> ... </form>";
$voit[1] = "<form action=voit.php?voit=1> ... </form>";
$voit[2] = "<form action=voit.php?voit=2> ... </form>";

$time = time(); // определяем текущее время

$file = file("replace_voit.dat"); // читаем файл, для определения какое сейчас выбрано голосование и когда его выбрали
$e = explode(";", $file[0]);
$old_time = $e[0];
$this_voit = $e[1];

if($time > $old_time + 172800) { // проверяем прошло более 2-ух дней (172800 секунд)

if($this_voit + 2 > count($voit)) $next_voit = 0; // проверка: прошли ли все голосов. по кругу; если да, начать сначала.
$time = $old_time + 172800;

$f = fopen("replace_voit.dat", "w+"); // записываем номер нового голосования и время его старта
fputs($s, "$time;$next_voit;");
fclose($f);

}

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

Помочь | Задать свой вопрос

Вопрос № 10. От: eva:
Здравствуйте. Я скачала апаче с этого сайта и сделала сайт с php-файлами. На компе все работает. Когда я загружаю сайт на сервер, код php не работает. Сервер - narod.ru. Какие еще файлы нужно загрузить на сайт? Нужно ли загружать php.ini, саму программу апаче? Может дело в том, что narod.ru не поддерживает php?

Отвечает: Serega:

Вы абсолютно правы. Сервер не поддерживает PHP, и работать они не будут там. Изменить это, к сожалению, никак нельзя.

Для того, чтобы работал сайт с PHP нужен хостинг с поддержкой PHP. Такими являются, к примеру, www.fatal.ru, www.h1.ru, www.km.ru из бесплатных. Из платных большинство.

Помочь | Задать свой вопрос

Вопрос № 11. От: Serega:
Вышел 12 выпуск рассылки на тему: "Гостевая книга (чаcть 2) - Безопасность 2". Здесь Вы можете задавать вопросы отвечать на другие а также оценить творчество автора т. е. мое. Так что вперед!

Отвечает: Rastaman:

Сергей, такой вопрос: Почему при запуске Гостевой книги(example-6) на страничке появляется не только гостевая книга, но и надпись снизу:
= 0; $i--){
$e = explode("1", $file[$i]);
echo "Добавил: <a href=\\"mailto:$e[1]\\">$e[0]</a> из города: $e[2]. Сайт в интернете: <a target=\\"_blank\\" href=\\"$e[3]\\">$e[3]</a><br><br>
$e[4]<br><hr width=750><br>"; }
?>
Книга не функционирует: не записывает сообщения в базу данных, в следствие чего не выводит записи на форму.
Подскажите пожалуйста, как её можно отредактировать?



Отвечает: Serega:

Хм... Понятно в чем проблема. Чтобы проверить скрипт нужен Apache+PHP. Такой есть в разделе скачать (модуль). Затем разархивируем, ищем Apache.exe (Путь такой: ...\\Папка где апач\\APACHE\\Apache.exe). Появляется Дос окно и остается. Его закрывать нужно только после окончания работы. Если оно закрывается само, значит он не работает.

А затем в папку www1 кидаем все файлы из example-6. Запускаем браузер и пишем http://localhost/, после чего запустится гостевая, работающая, как на сайте. И хоть я описывал это долго, на практике это предельно просто.

Помочь | Задать свой вопрос



...наверх...
     Автору:
      Если Вы - опытный веб-дизайнер или вам есть, что сказать читателям, то присылайте Ваши статьи по адресу about-php@mail.ru. Тема author. Ваши статьи будут опубликованы в близжайших выпусках рассылки (если, конечно, они будут содержать полезную информацию о веб-дизайне). В письме должны быть статья, ее название и контактная информация о авторе (имя и e-mail (например, с которого отправлено письмо) обязательно). Также Вы можете стать ведущими рассылки. Для этого отправьте письмо на этот же e-mail с той же темой, указав контактную информацию и тематику ваших статей.

     Возможно, подписываясь на эту рассылку, Вы уже имели опыт работы с PHP и создали какие-нибудь скрипты. Поэтому, если у Вас есть полезный скрипт для сайта, написанный на PHP, присылайте его мне на e-mail about-php@mail.ru с темой script. Он обязательно появится в этой рассылке и разделе "Скачать" с контактной информацией автора.




     На сегодня это все. Увидимся в следующем выпуске.
Рассылку подготовил, Ястребов Сергей.
Сайт рассылки http://www.about-php.fatal.ru/.
...наверх...

http://subscribe.ru/
http://subscribe.ru/feedback/
Подписан адрес:
Код этой рассылки: inet.webbuild.aboutphp
Отписаться

В избранное