Выбрать главу

// увеличив соответствующее значение в массиве и число проголосовавших на 1

$rez="Результаты голосования:n";

// Переменная $rez будет содержать данные о голосовании,

// которые затем запишем обратно в файл

for($i=1;$i<$file_len;$i++) $rez.=$file[$i]."n";

$rez=trim($rez);

$file_rec=@fopen($file_name,"w");

// Здесь мы создаем новый файл, в который затем запишем обновленные данные

if($file_rec) {

$counter=fputs($file_rec,$rez);

// Запись обновленных данных в файл data.txt

fclose($file_rec);

}

else echo "Произошла ошибка записи результатов!";

for($i=1;$i<$file_len;$i++) $pr[$i]=round(($file[$i]/$n)*100);

// Записали в массив $pr, сколько процентов от общего числа голосовавших

// занимает каждый ответ

// Далее идет кусок HTML-кода, который

// отвечает за вывод наших данных на экран

?>

<center><h2>Ваше мнение о сайте:</h2></center><BR>

<table border=1 align=center>

<tr><td>

<B>Просто супер! (<?php echo $file[1];?>):</B>

</td><td>

<img src="img.php?pr=<?php echo $pr[1];?>" height=15>

</td></tr>

<tr><td>

<B>Нормальный. (<?php echo $file[2];?>):</B>

</td><td>

<img src="img.php?pr=<?php echo $pr[2];?>" height=15>

</td></tr>

<tr><td>

<B>Так себе. (<?php echo $file[3];?>):</B>

</td><td>

<img src="img.php?pr=<?php echo $pr[3];?>" height=15>

</td></tr>

<tr><td>

<B>Мне все равно. (<?php echo $file[4];?>):</B>

</td><td>

<img src="img.php?pr=<?php echo $pr[4];?>" height=15>

</td></tr>

<tr><td>

<B>Плохой. (<?php echo $file[5];?>):</B>

</td><td>

<img src="img.php?pr=<?php echo $pr[5];?>" height=15>

</td></tr>

<tr><td>

<B>Хуже не видел! (<?php echo $file[6];?>):</B>

</td><td>

<img src="img.php?pr=<?php echo $pr[6];?>" height=15>

</td></tr>

</table>

<table border=1 align=center>

<tr><td align=center><B>Всего проголосовало:</B></td></tr>

<tr><td align=center><?echo $n." человек";?></td></tr>

</table>

<?

};

?>

</body>

</html>

Записав в атрибут SRC тега <IMG> значение "img.php?pr=количество процентов" мы тем самым передаем файлу img.php (который отвечает за вывод графической информации) значение, на основании которого будет на лету сгенерировано изображение голосования.

Далее приведу листинг файла img.php:

<?php

$otstup=35;

// $otstup - задает отступ, в прелелах которого

// в картинку впишем процентное значение

$string=$pr."%";

// $string - содержит значение процентов плюс знак процента

$im=imageCreate($pr*2+$otstup,15);

// Здесь создаем идентификатор, при помощи

// которого мы будем работать с картинкой

$fon=imageColorAllocate($im,220,20,60);

$fon1=imageColorAllocate($im,255,20,147);

// Задаем цвет фона

$col_b=imageColorAllocate($im,0,0,0);

// Задаем цвет обводки

$shrift=imageColorAllocate($im,255,255,255);

// Цвет вывода процентного значения

imageFill($im,2,2,$fon);

// Заполнили наш прямоугольник основным фоном

$x1=0;$x2=$pr*2+$otstup-1;

$y1=0;$y2=14;

// Формирование улов для обводки контуром

imageLine($im,$x1,$y1,$x2,$y1,$col_b);

imageLine($im,$x2,$y1,$x2,$y2,$col_b);

imageLine($im,$x2,$y2,$x1,$y2,$col_b);

imageLine($im,$x1,$y1,$x1,$y2,$col_b);

imageLine($im,$x1+$otstup,$y1,$x1+$otstup,$y2,$col_b);

// Создание контура и разделяющей полосы

if($pr!=0) imageFill($im,$otstup+1,2,$fon1);

// Если значение процента не равно 0, то заполняем

// правую часть цветом $fon1

imageString($im,3,5,1,$string,$shrift);

// Пишем в правую часть картинки процентное значение

header("Content-type: image/png");

imagePng($im);

imageDestroy($im);

// Здесь производим вывод полученной картинки в

// стандартный поток вывода и уничтожаем идентификатор

?>

Отправка писем при помощи PHP

Отправка писем при помощи PHP

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

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

Синтаксис функции mail():

bool mail(string $to, string $subject, string $msg [, string $header]);

Функция mail() посылает письмо с темой $subject и содержанием $msg по адресу $to.

Если Вы хотите, чтобы письмо ушло по нескольким адресам, разделите их пробелами.

Само сообщение может быть многострочным. Для перехода на новую строку поставьте знак перехода на новую строку "\n" в конце каждой строки.

mail("name@mail.ru", "my subject", "stroka1nstroka2nstroka3");

Или тотже самое можно записать так:

mail("name@mail.ru", "my subject", "stroka1

stroka2

stroka3");

В четвертом необязательном параметре $header можно указать заголовки нашего сообщения.

Под заголовками я подразумеваю информацию, передаваемую вместе с письмом почтовому клиенту, которая будет содержать некоторые технические данные, такие как: кодировка письма, имя отправителя, обратный адрес отправителя и т.д. Это схоже с использованием тега <META> в HTML.