
Вот и готова новая версия форма. В новой версии исправлен немного код файла 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
Если вам на сайте нужно вывести запись такого содержания:
Сегодня: Среда, 24 Октября 2007 г.
То пожалуйста читайте эту статью. Итак, для начало создайте файл index.php и вставьте в него следующий код:
<htmL>
<head>
<title>Делаем вывод даты на PHP</title>
</head>
<body>
<?php$month[1] = “Январ”;
$month[2] = “Феврал”;
$month[3] = “Март”;
$month[4] = “Апрел”;
$month[5] = “Ма”;
$month[6] = “Июн”;
$month[7] = “Июл”;
$month[8] = “Август”;
$month[9] = “Сентябр”;
$month[10] = “Октябр”;
$month[11] = “Декабр”;
$month[12] = “Январ”;$day[0] = “Воскресенье”;
$day[1] = “Понедельник”;
$day[2] = “Вторник”;
$day[3] = “Среда”;
$day[4] = “Четверг”;
$day[5] = “Пятница”;
$day[6] = “Суббота”;$dnum = date(”w”);
$mnum = date(”n”);
$daym = date(”d”);
$year = date(”Y”);$textday = $day[$dnum];
$monthm = $month[$mnum];if ($mnum==3||$mnum==8)
{
$k=”а”;
}
else
{
$k=”я”;
}
echo “Сегодня: $textday, $daym $monthm$k $year г.”;
?>
</body>
</html>
Все на этом разработка скрипта закончена, теперь вам осталось его проверить!
Дополнительно:
Например, у вас есть сайт и на сайте есть мини блок где вы показываете картинки, и вы постоянно(например: раз в день) обновляете html файл в который каждый раз вставляете новую картинку. Согласитесь это очень не удобно, ну так вот в данном примере мы решим эту проблему. Пример вы можете посмотреть здесь , потом обновите страницу, для этого нажмите F5 и вы увидите, что картинка стала совершенно другой.
Для начала создайте файл index.php и вставьте в него следующий код:
<?
$imgdir=”img/”;$ext=”jpg”;
$mode=2;
$error=”Мало картинок.”;
$errorfile=”error/error_001.jpg”;
$NoCacheMode=1;
function NoCache()
{
header(”Cache-Control: no-store, no-cache, must-revalidate”);
header(”Pragma: no-cache”);
header(”Last-Modified: “.gmdate(”D, d m y H:i:s”).”GMT”);
}
function FileCount($imgdir)
{
$files=0;
$cfile=opendir(”$imgdir”);
while(($e=readdir($cfile))!==false)
{
$files++;
}
$files-=3;
return $files;
}function filetest($ranfile)
{global $imagelist;
$status = false;
if (IsSet($imagelist))
{
foreach ($imagelist as $occu)
{
$occu=trim($occu);
if ($ranfile==$occu)
{
$status=true;
return $status;
}
}
}
return $status;
}function ImgWrite($ranfile)
{global $imagelist;
$ranfile=trim($ranfile);
$imagelist[]=$ranfile;
}function ImgRandom($files)
{global $ext, $imgdir, $imgcounter, $mode, $error, $errorfile;
$ranfile= mt_rand(1, $files);
$ranfile= sprintf(”%03d”, $ranfile);
if (!filetest($ranfile))
{
ImgWrite($ranfile);
Echo “<img src=\”$imgdir$ranfile.”.$ext.”\”>”;
$imgcounter++;
}
else
{
if ($imgcounter<$files)
{
ImgRandom($files);
}
else
{
if ($mode==1)
{
Echo $error.”<br>”;
}
elseif ($mode==2)
{
Echo “<img src=\”$imgdir$errorfile.”.$ext.”\”>”;
}
}
}
}if ($NoCacheMode==1)
{
NoCache();
}
$imgcounter=0;
print “<title>Случайный вывод картинок</title><br>”;
ImgRandom(FileCount($imgdir));
?>
Разберём код немного подробнее
$imgdir=”img/”;
Данная строчка отвечает откуда будут грузится картинки, в данном случае картинки будут загружаться из папки img.
———————————
$ext=”jpg”;
Данная строчка отвечает за расширение картинок, которые будут выводится, в данном случае картинки будут грузится только с расширением jpg
———————————
$error=”Мало картинок.”;
$errorfile=”error/error_001.jpg”;
Данная строчка отвечает за то, что если в папке img не будет ни одной картинки, на экран пользователя будет выведена картинка, можете в данную папку поместить свою собственную картинку.
Теперь когда будете загружать картинки в папку img не забудьте переименовать все картинки в названия такого типа 001.jp; 002.jpg; 003.jpg; 010.jpg и.т.д
Папку img надо класть в ту директорию куда вы положили файл index.php или переназначьте путь откуда будут грузится картинки.
Дополнительно:
Если вам нужна форма для загрузки файлов с компьютера к себе на сервер, то этот урок(пример) для вас. Создайте файл index.php и вставьте в него следующий код:
<?
$path=GetCWD().”/files”;
if(!file_exists($path))
die(”<b>Пожалуйста, создайте папку <font color=red>”.$path.”</font> и <a href=?>повторите попытку загрузить файл</a>.</b>”);
if(empty($_FILES['UserFile']['tmp_name']))
echo
“<form method=post enctype=multipart/form-data>
Выберите файл: <input type=file name=UserFile>
<input type=submit value=Отправить>
</form>”;
elseif(!is_uploaded_file($_FILES['UserFile']['tmp_name']))
die(”<b><font color=red>Файл не был загружен! Попробуйте <a href=?>повторить попытку</a>!</font></b>”);
else
{
if(@!copy($_FILES['UserFile']['tmp_name'],$path.chr(47).$_FILES['UserFile']['name']))
die(”<b><font color=red>Файл не был загружен! Попробуйте <a href=?>повторить попытку</a>!</font></b>”);
else
echo
“<center><b>Файл \”<font color=red>”.$_FILES['UserFile']['name'].”\”</font> успешно загружён на сервер!</font></b></center>”.
“<hr>”.
“Тип файла: <b>”.$_FILES['UserFile']['type'].”</b><br>”.
“Размер файла: <b>”.round($_FILES['UserFile']['size']/1024,2).” кб.</b>”.
“<hr><center><a href=?>Загрузить ещё один файл!</a></center>”;
}
?>
Потом создайте папку files там где вы поместили файл index.php и поставьте папке files CHMOD равный 777 или 0777. Готово, теперь можете экспериментировать с дизайном и со всем остальным.
Скриншоты:
- Форма выбора файла для загрузки на сервер
- Сообщение об ошибке, если папки files не существует
- Сообщение об успешной загрузке файла на сервер
Дополнительно:
Во многих WEB приложениях требуется подсветить php код, такая задача возникает при динамическом отображении php скриптов на странице сайта, в форумам посвящённых php и.т.п. Подсветка осуществляется при помощи стандартной функции php: highlight_string()
Итак, создайте файл, например index.php и вставьте в него следующий код:
<html>
<head>
<title>Подсветка кода с помощью стандартной функции PHP</title>
</head>
<body>
//PHP Скрипт
<?php
$code = ‘<?php
if(!$flag)
{
echo(”FlashRipper”);
$var = 1;
}
else break;
?>’;highlight_string($code)
?>
</body>
</html>
Дополнительно:
Пример по созданию формы отправки письма(обратная связь) с антиспамом, каждый раз на картинке будет выводится новое число. Пока пользователь не введёт цифры в поле, которые написаны на картинке письмо не будет отправлено вам на почтовый ящик. Пример данной формы можно посмотреть здесь.
Создайте файл code.php, который будет генерировать число, которое пользователю нужно будет ввести в поле. И вставьте в него следующий код:
<?php
Header(”Pragma: no-cache”);
$fp = fopen(’code.txt’,'w’);
fclose($fp);
$fp = fopen(’code.txt’,'a’);
$code=”;
for ($i=1;$i<5;$i++)
fwrite($fp,mt_rand(0,9));
fclose($fp);
$fp = fopen(’code.txt’,'r’);
$code = fread($fp,4);
fclose($fp);
$pic = ImageCreateFromgif(”image.gif”);
Header(”Content-type: image/gif”);
$color=ImageColorAllocate($pic, 0, 0, 0);
ImageString($pic,5,70,60,$code,$color);
Imagegif($pic);
ImageDestroy($pic);
?>
Затем создайте файл code.txt в который будет записываться и читаться код. В него ничего не надо вставлять. Когда загрузите его к себе на сервер поставьте ему CHMOD 777 или 0777.
После этого нам нужна форма из, которой будет происходить отправка письма на e-mail, для этого создайте файл, например: antispam2.php и вставьте в него следующий код:
<?php
Header(”Pragma: no-cache”);
echo “<form action=antispam2.php method=POST>”;
echo “<textarea rows=4 cols=40 name=message>Текст письма</textarea>”;
echo “<p><img src=code.php><p>”;
echo “Введите цифры с картинки: <input type=text value=’0000′ name=code><p>”;
echo ‘<p><input type=\’submit\’>’;
echo ‘</form>’;
if (isset($_POST['message']))
{
$fp = fopen(’code.txt’,'r’);
$realcode = fread($fp,4);
fclose($fp);
if ($_POST['code'] === $realcode)
{
mail(’flashripper@yandex.ru’,'FlashRipper.Net’,$_POST['message']);
echo “Ваше письмо было успешно отправлено”;
$fp = fopen(’code.txt’,'w’);
for ($i=1;$i<5;$i++)
fwrite($fp,mt_rand(0,9));
fclose($fp);
}
else
echo “<br>Неверный код!<br>”;
}?>
Осталось только вставить изображение на котором будет выводится код. Я взял вот такое изображение(первое попавшиеся мне под руку), взять его можно здесь. Изображение должно быть с расширением gif, если вам нужно другое расширение или название, вам нужно открыть файл code.php и найти там строчку
$pic = ImageCreateFromgif(”image.gif”);
Header(”Content-type: image/gif”);
И соответственно поменять на нужные вам параметры
image.gif - название файла
image/gif - поменяйте только второе значение
Не забудьте картинке тоже поставьте CHMOD 777 или 0777
В этом примере вместо gif файла у меня png файл:
$pic = ImageCreateFromgif(”image.png”);
Header(”Content-type: image/png”);
Дополнительно:


(12 голосов, средний: 4 из 5)
(8 голосов, средний: 4.5 из 5)

