Здесь я просто приведу пример кода, который выводит captcha примерно такой формы
Вот сам код:
<?php
session_start();
header(”Content-Type: image/jpeg”);
get_checkcode_picture($_SESSION[check_code]);
die;function get_checkcode_picture($code){
$img=imagecreatetruecolor(50, 30);
$x1=0;
$x2=60;
$y1=rand(0, 30);
$y2=rand(00, 30);
$textcolor = imagecolorallocate ( $img , 255, 255, 255);
imageline($img, $x1, $y1, $x2, $y2, $textcolor);
$x1=rand(0, 50);
$x2=rand(0, 50);
$y1=0;
$y2=30;
imageline($img, $x1, $y1, $x2, $y2, $textcolor);
imagestring($img, 4, 10, 7, $code, $textcolor);
imagejpeg($img);
}
?>
Если подойти с творческим подходом, можно встроить такую captcha в форму отправки письма на e-mail с сайта. Напоминаю здесь только приведен код, который будет выводить примерно такую captcha(см. рисунок).
В данной версии был убран только визуальный редактор, никаких важных функций убрано не было.
Демо можно посмотреть здесь(откроется в новом окне)
Размер архива: 25kb
![]()
В архиве находится 15 иконок в формате png и ico
Размер архива составляет 1,14mb
Архив в формате: .zip
Скачать архив с иконками
Иконки посвящены теме RSS. В архиве находится 4 иконки в формате .ico
Размер архива: 445kb
Архив в формате: .zip
Скачать архив
На сегодняшний день музыкальные магазины online, наподобие Musikload[1], становятся все более распространенными и пользуются бешенной популярностью. В этой статье мы расскажем как можно читать мета-информацию mp3-файла средствами PHP, что поможет вам в создании каталога музыки. Это очень просто, поддержка базы данных не нужна.
Откуда знает MP3-Player, например Winamp информацию об исполнителе или названии композиции, которую он проигрывает? Может быть, он сам каким-то чудным образом узнает название песни и альбома? Нет, здесь нет никакого волшебства! Подобная информация содержится в самих файлах. Музыкальные файлы других форматов таких как WMA или Ogg Vorbis также содержат подобную информацию, но здесь речь пойдет о файлах в формате mp3.
Дальше »
PHP.Первые шаги. Действительно легкая смена дизайна
NAS, Webscript.ru
Предупреждение
Данный текст ни на что не претендует. Надеюсь, что-то из описанного поможет Вам в освоении PHP и использовании его в повседневной практике.
Сразу оговорюсь, что я не только мало смыслю в программировании вообще, но и в PHP в частности. Соответственно и статья писалась для такой же аудитории. Ламер -ламеру. Или дилетант-дилетанту, как угодно. Большинство информации можно найти в форумах или на англоязычных сайтах.
Краткая аннотация:
После прочтения статьи вы сможете использовать только один файл для внесения в него изменений дизайна и навигации. Содержимое сайта при этом не нужно будет даже трогать!
Легкая смена дизайна
Итак, у вас уже что то есть. Какой то информационный web проект. Серия статей, он-лайн книга, просто страничка.
Хорошо, если у вас все в порядке с проектом на диске. Каждый раздел в своем каталоге, скрипты отлажены и жужжат, дизайн закреплен навеки.
У меня такого не было.
То есть порядок то был, а вот с дизайном - полный завал. Плюс я постоянно что то прикручиваю, балуюсь с содержимым. Что же я сделал?
Мне надо было : легко и безболезненно менять дизайн, навигацию, ссылки и баннеры, вставлять новые разделы и все это должно проходить с минимальными телодвижениями .
Я вовсю использовал SSI. Вы знаете что это такое ? Грубо говоря, у меня был шаблон хтмл, в него я вставлял меняющиеся элемнты типа меню навигации, баннеров и так далее. Но само содержание этого уже наполненного шаблона - не менялось! То есть для каждой странички в шаблон вставлял информацию, и сохранял на сервере. После этого, чтобы изменить цвет таблицы, мне пришлось бы заново делать шаблон, выдергивать информацию из старого и вставлять в новый. Можно, конечно, использовать CSS, фреймы, что там еще. Но меня все это по разным причинам не удовлетворяло
Еще, как выход, мне мерещилось использование программы, которая заменяла бы во всех файлах одни строки на другие. Ни то, господа, ни то! Если что то сложное в плане хтмл, да еще написанного вручную, то все это адский труд. Только не подумайте, что я писал на хтмл.
Бывало, конечно, несколько строк накропаю, но я же ленивый. За меня все делало FrontPage 98. Охаиваемое всеми чудо.
Что же делать с этой кучей файлов с расширением *.shtml и невозможностью сменить дизайн так, то бы это не отозвалось болезненным перелопачиванием всей этой кучи? Я ленив, и в своих поисках я набрел на лучшее решение - PHP.
Возможность, которую он дает - один хтмл-шаблон плюс файлы только с содержимым раздела я очень быстро оценил!
Быстренько и монотонно освободив свои shtml ки от разных табличек, вставок, картинок, и другой мутотени я вытер пот со лба. Убрал расширения файлов. Дело в том, что мой хостер хитро сделал-поздней ночью их скрипт вставляет во все файлы с расширением *.html код баннера.
Вот оно ! Стройный ряд файлов выстроился перед моим взором. Умытые, похудевшие и почистившиеся они требовали новой одежки-дизайна.
Я сваял новый шаблон: index.php3.
<HTML>
<HEAD>
</HEAD>
<BODY>
<?php
function foo ($in) {
< !–если не вызывается просто index.php3 то происходит вставка вызываемого файла–>
if ($in != “”) {$out=$in;}
< !– если происходит вызов index.php3 без имени файла, то по умолчанию, вставляется файл main–>
else {$out=”main”;} return $out;}?><!–Мой дизайн и навигация–>
<!–Вызов функции с аргументом - именем файла, запрашиваемым пользователем–>
<?php include (foo($QUERY_STRING)); ?><!–Мой дизайн и навигация–>
</BODY>
</HTML>
Теперь я вызываю странички так
http://myserver.ru/index.php3?news
http://myserver.ru/index.php3?links
http://myserver.ru/index.php3?about
А можно и просто
http://myserver.ru/?news
http://myserver.ru/?links
http://myserver.ru/?about
Отсутствие расширений не является критическим требованием. Если у вас набор файлов с расширениями, это не послужит препятствием. Можно вызывать для вставки любые файлы в каталоге раздела.
Например :
http://myserver.ru/index.php3?news.shtml
http://myserver.ru/index.php3?links.txt
http://myserver.ru/index.php3?about.htm
Конечно, если надо вносить изменения в содержимое (новости подновить, новый линк добавить), то приходится открывать файлы news и link и уже там что-то менять.
Минусы подхода:
1) Таги <meta> и <title> распространяются на все страницы раздела, объединенных общим index.php3.
2) Если поисковая система некорректно обрабатывает сайты, использующие PHP, то пользователь может и не найти Ваш сайт.
Введение в PHP
“CHIP / Россия”
Как и любую вещь в этом мире, сайт можно автоматизировать. И не просто автоматизировать, а дать самому себе возможность, больше никогда не заглядывать в его FTP-недры, и лишить процесс администрирования веб-сайта большинства затрачиваемых физических усилий. Язык PHP в дает, просто, огромные возможности по созданию “движка” для веб-сайта, и при этом, его синтаксис очень прост. Впрочем, обо всем по порядку.
Что, собственно, требуется для создания хорошей системы администрирования веб-сайта? Совсем немного – сервер, который бы разрешал использование PHP-скриптов, и знание самого языка PHP, на котором мы и будем писать “информационный двигатель”.
Так же, желательно иметь в своем распоряжении сервер Apache (http://apache.org), и интерпретатор PHP (http://www.php.org) - и то и другое, распространяется совершенно бесплатно, и свободно доступно для загрузки из сети.
Итак, начнем?
Введение в PHP
Сам язык программирования PHP, без интернета существовать не может. Он попросту не нужен на обычном компьютере – второй Windows на нем не напишешь, и ничего вразумительного и полезного – тоже. Разве что, чат для внутренней сети – это да. Но за то в интернете, PHP считается одним из самых мощных языков, который стоит на одной линейке, с тем же Perl’ом.
PHP является удобным, и в то же время достаточно простым языком. И уж если вам доводилось писать программы на С или C++, c изучением PHP у вас и вовсе не возникнет трудностей, так как синтаксис очень похож.
Любая (даже самая маленькая) программа на PHP, должна начинаться с оператора
<?php
и заканчиваться оператором
?>
Если эти операторы не будут проставлены в начале и конце программы, сервер который будет обрабатывать запросы, не распознает код.
В PHP, как и в любом другом языке программирования, присутствует возможность вставки комментариев – без этого никак. Комментарии порой выручают самого же разработчика, не говоря уже о пользователях, которые возможно, будут конфигурировать готовую программу - они не дают запутаться в структуре программного кода, и делают его более читаемым. Текст комментариев в программах на PHP существует двух видов – однострочный, и многострочный. Соответственно, существует и два типа указания комментариев. Пример:
/* многострочный
комментарий */
и
// однострочный комментарий
В комментариях может находиться любой текст, будь то даже код PHP, или “китайские колы”. В любом случае – сервер при обработке программы опускает все строки, что отделены символами комментариев.
Переменные в программах на PHP, отделяются символами $. Например, в программе:
$name = “Мир”;
переменная $name будет равна значению Мир. А вывести значение переменной на экран можно двумя способами:
echo $name;
и
print $name;
Ну, а код программы, которая выводила бы что-нибудь, вроде “Привет Мир!”, будет выглядеть вот так:
$hello = “Привет”;
$spacer = ” “;
$name = “Мир”;
$din = “!”;
echo $hello;
echo $spacer;
echo $name;
echo $din;
Причем, как вы, наверное, уже догадались, имена переменных вещь совершенно не подчиненная логике – например, имя переменной $din совершенно не соответствует ее значению. Главное, не перепутать имена переменных при построении программы.
Основными элементами любой программы, являются переменные. Их иногда бывает даже больше чем исполняемого кода программы. А когда делается очень большой скрипт, который содержит большое количество файлов, часто приходится использовать одну и ту же переменную в каждом файле. А если значение этой переменной вдруг понадобится изменить, тогда придется перелопачивать каждый файл, редактируя его? Неплохо было бы, если бы можно было вывести все переменные в один конфигурационный файл, не так ли? Так и сделаем. На примере нашей программы, вынесем все переменные в файл configuration.php3. А в текущем файле, оставим только программу, которая теперь превратится в вот такой код:
require(“configuration.php3”);
echo $hello;
echo $spacer;
echo $name;
echo $din;
Теперь наша программа ищет в самой себе запрашиваемые переменные, а если таковых найдено не будет, она отправится в путешествие на указанный в первой строчке файл.
Но главным преимуществом PHP, является возможности вставки кода в web-страницу, наряду со стандартным HTML-кодом. Это делает язык PHP очень гибким, и в то же время необычайно удобным. В этом, он может соперничать разве что с технологией ASP (Active Server Pages), но она, в отличии от рассматриваемого языка, может использоваться только на серверах, базирующихся на основе Windows NT.
Первый движок
Теперь вы уже имеете представление о PHP, и можно сделать что-то более полезное, нежели программу, которая выводит банальное “Привет Мир!”. Займемся разработкой нашего движка.
Для начала, напишем программу, которая будет добавлять некоторые статьи в базу текстов, и выводить любой из указанных файлов в одном шаблоне. Все это выглядит очень сложным, но на самом деле очень просто. Сначала напишем на HTML форму, откуда введенные данные будут передаваться программе на обработку:
<form method=”POST” action=”add_text.php3″>
<p>Название текста:<br>
<input type=”text” name=”text_name” size=”20″><br>
Текст:<br>
<textarea rows=”12″ name=”text” cols=”53″></textarea><br>
<input type=”submit” value=”Submit” name=”Submit”></p>
</form>
Теперь напишем программу, которая введенные в форму данные обработает должным образом, и сохранит в папку texts:
<?php
$filename = “$name”; /* указываем с каким именем будет сохранен файл. Именем файла, будет служить название текста, введенное в соответствующее поле формы */
$fp = fopen(”texts/$text_name.txt”,”w+”) /* открываем файл, а если он не найден, директивой “w+” указываем что его надо создать */
fputs($fp, “<b>$text_name</b><br>$text”); /* сохраняем с учетом HTML-форматирования текст в базу текстов */
fclose($fp); /* закрываем файл по завершению всех работ */
?>
Вот и все – эта программа сохранит все введенные в форму данные. Теперь нам нужно их вывести. Здесь на помощь тоже приходит PHP. Зачем же нам создавать огромное количество веб-страниц, для каждого документа хранящегося в базе текстов, если любой из них можно вывести в одном шаблоне?
Создаем HTML-файл, и в месте, где предполагается вывод текстов, пишем следующий PHP-код:
<?
$filename = “read/”.$open .’.txt’; // открываем указанный текст
if (file_exists ($filename)): // если такой файл существует…
$fd = fopen ($filename, “r”); // …открываем его…
$showtext = fread ($fd, filesize ($filename)); // и считываем в переменную $showtext
fclose ($fd); // закрываем файл
echo ($content); // выводим текст если файл найден, а если нет…
else: echo (”Указанный текст отсутствует в базе текстов.”); // пишем что такого файла нету
endif; // конец цикла, и конец программы
?>
Все так – подумает читатель – но как же указать файл? Очень просто. Предположим, что приведенный выше код, находится в файле read.php3. В строке броузера, просто пишем read.php3?open=имя_файла_без_расширения.
Думаю, вряд ли кто-то станет спорить, что такой способ очень удобен. Интересно, что в файле может храниться не обязательно текст – это может быть и HTML-код, и какой-то другой скрипт… словом, все, что только может разобрать броузер или сервер.

Вот и готова новая версия форма. В новой версии исправлен немного код файла index.php и добавлена captcha(для защиты от спама и флуда), captcha состоит из трех файлов(code.txt, image.gif, code.php)
Надеюсь вам не составит труда изменить дизайн формы и встроить его в свой собственный, дизайн формы редактируется в файле index.php. Файлы captcha вы можете не трогать, правда если вы хотите оставить такую, а так пожалуйста меняйте и экспериментируйте.
Преимущества данной версии
- В данной версии добавлена captcha в отличии от предыдущий
- Изменён немного код файла index.php
- Легко интегрировать в дизайн
Демо можно посмотреть здесь(откроется в новом окне)
Автор: FlashRipper
Размер архива: 513kb
Скачать архив

В данной версии были исправлены ошибки, которые были допущены в версии 1.0, а именно такие как:
- Проблемы с кодировкой, в некоторых броузерах отображалось места текста квадратики
Папки examples больше нету, она теперь называется forma(вы можете ее назвать как вам угодно)
Содержание файла index.php:
<html>
<head>
<title>Связь с администрацией</title>
<meta http-equiv=”Content-Type” content=”text/html; charset=windows-1251″>
<!– tinyMCE –>
<script language=”javascript” type=”text/javascript” src=”../jscripts/tiny_mce/tiny_mce.js”></script>
<script language=”javascript” type=”text/javascript”>
// Notice: The simple theme does not use all options some of them are limited to the advanced theme
tinyMCE.init({
mode : “textareas”,
theme : “simple”
});
</script>
<!– /tinyMCE –>
</head>
<body>
</body>
</html><?php
$mailto = “youremail@yandex.ru”;
$charset = “windows-1251″;
$subject = “Письмо с сайта http://$HTTP_HOST”;
$content = “text/plain”;
$status=” “;$errors_name = ‘Введите ваше имя’;
$errors_mailfrom = ‘Введите свой E-mail’;
$errors_incorrect = ‘Заполните правильно Ваш E-mail’;
$errors_message = ‘Наберите сообщение!’;
$send = ‘Ваше письмо отправлено!’;if (isset($name) && $name == “”)
{
$status = “$errors_name”;
}
elseif (isset($mailfrom) && $mailfrom == “”)
{
$status = “$errors_mailfrom”;
}
elseif(isset($mailfrom) && !preg_match(”/^([a-z,._,0-9])+@([a-z,._,0-9])+(.([a-z])+)+$/”, $mailfrom))
{
$status = “$errors_incorrect”;unset($mailfrom);
}
elseif (isset($message) && $message == “”)
{
$status = “$errors_message”;
}
elseif (!empty($_POST))
{
$headers = “MIME-Version: 1.0\r\n”;
$headers .= “Content-Type: $content charset=$charset\r\n”;
$headers .= “Date: “.date(”Y-m-d (H:i:s)”,time()).”\r\n”;
$headers .= “From: \”$name\” <$mailfrom>\r\n”;
$headers .= “X-Mailer: My Send E-mail\r\n”;mail(”$mailto”,”$subject”,”$message”,”$headers”);
unset($name, $mailfrom, $mailto, $subject, $message);
$status = “$send”;
}echo ”
<table width=\”430\” border=\”0\”>
<tr>
<td height=\”50\” align=\”center\” colspan=\”2\”><font color=\”blue\”>$status</font></td>
</tr>
<form method=\”post\”>
<tr>
<td width=\”86\”>Ваше имя</td>
<td width=\”286\”><input type=\”text\” name=\”name\”></td>
</tr>
<tr>
<td>Ваш e-mail</td>
<td width=\”286\”><input type=\”text\” name=\”mailfrom\”></td>
</tr>
<tr>
<td> </td>
<td width=\”286\”>
<p align=\”center\”>Сообщение</p>
</td>
</tr><tr>
<td> </td>
<td width=\”286\”><textarea name=\”message\” cols=\”33\” rows=\”10\”></textarea></td></tr>
<tr>
<td align=\”center\” colspan=\”2\”>
<input type=\”submit\” value=\”Отправить\” style=\”border: 1px solid #000000\”></td>
</tr>
</form>
</table>\r\n”;
?>
Теперь некоторые настройки скрипта:
$mailto = “youremail@yandex.ru”;
Введите сюда ваш e-mail на этот адрес будут отправляться письма с сайта$charset = “windows-1251″;
Кодировка в которой будут отправляться письма$subject = “Письмо с сайта http://$HTTP_HOST”;
Это тема письма, можно оставить такой
На этом все. Демо можно посмотреть здесь(откроется в новом окне)
Размер архива: 481kb
Скачать
Автор: FlashRipper

Делал для себя скрипт отправки сообщений на e-mail. Форма позволяет отправлять письма с форматированием.В качестве визульного редактора я взял: tinymce
Демо можно посмотреть здесь(откроется в новом окне)
Размер архива: 535kb
Скачать
Автор: FlashRipper




