
- •Дата и время в php Пример 1
- •Пример 2
- •Пример 3
- •Динамическая работа с таблицами
- •Форматированный вывод строк в php
- •Проверка введенных данных на php, отправка заполненной формы на почту
- •Последнее изменение страницы
- •Как сделать постраничный вывод фотографий, изображений, картинок. Php
- •Авторизация посетителей на php
Форматированный вывод строк в php
<html> <head><title>Форматирование вывода в окно браузера</title></head> <body> <?php $TOVARY = array ("помидоры" => 15, "огурцы" => 11, "картофель" => 10); echo "<pre>"; printf ("%-25s%25s\n%'=50s\n", "Наименование", "Цена", ""); foreach ($TOVARY as $NAME => $PRICE) printf ("%'.-25s%'.22.2f\n", $NAME, $PRICE); echo "</pre>"; ?> </body>
</html>
Проверка введенных данных на php, отправка заполненной формы на почту
В нашем примере у нас 5 полей, которые необходимо заполнить:
- имя
- сообщение
- контактный телефон
- контрольное число для защиты
Помимо простой проверки на пустоту поля, мы покажем, как проверить, правильно ли введен e-mail и телефон
<?php
if(isset($_POST["go"]))
{
$e1=null;
$uname=trim(htmlspecialchars($_POST["uname"]));
if(strlen($uname)=="0"){$e1.="Заполните поле 'Ваше имя'<br>";}
$e2=null;
$utext=trim(htmlspecialchars($_POST["utext"]));
if(strlen($utext)=="0"){$e2.="Заполните поле 'Текст Сообщения'<br>";}
$e3=null;
$umail=trim(htmlspecialchars($_POST["umail"]));
if((strlen($umail)=="0") ||
(!preg_match("/[0-9a-z_]+@[0-9a-z_^\.-]+\.[a-z]{2,3}/i",$umail)))
{$e3.="Поле 'Ваш E-Mail' не заполнено, либо введен неверный E-Mail<br>";}
$e4=null;
$uphone=trim(htmlspecialchars($_POST["uphone"]));
if((strlen($uphone)<5) ||
(preg_match("/[%a-z_@.,^=:;а-я\"*()&$#№!?<>\~`|[{}\]]/i",$uphone)))
{$e4.="Поле 'Контактный телефон' не заполнено, либо введен неверный
Контактный телефон<br>";}
$e5=null;
$umath=trim(htmlspecialchars($_POST["umath"]));
if($umath!="48"){$e5.="Введено неверное контрольное число<br>";}
$eAll=$e1.$e2.$e3.$e4.$e5;
}
if(isset($_POST["go"]) && $eAll==null)
{
$dt=date("d F Y, H:i:s"); // дата и время
$mail="my@email.ru"; // e-mail куда уйдет письмо
$title=""; // заголовок(тема) письма
$utext=str_replace("\r\n","<br>",$utext); // обрабатываем
$mess="<b>Имя:</b> $uname<br>";
$mess.="<b>Сообщение:</b> $utext<br>";
// ссылка на e-mail
$mess.="<b>E-Mail:</b> <a href='mailto:$umail'>$umail</a><br>";
$mess.="<b>Телефон:</b> $uphone<br>";
$mess.="<b>Дата и Время:</b> $dt";
$headers="MIME-Version: 1.0\r\n";
$headers.="Content-type: text/html; charset=windows-1251\r\n"; //кодировка
$headers.="From: $umail\r\n"; // откуда письмо (необязательнакя строка)
mail($mail, $title, $mess, $headers); // отправляем
// выводим уведомление об успехе операции и перезагружаем страничку
print"<script language='Javascript' type='text/javascript'>
<!--
alert ('Ваше сообщение отправлено! Спасибо!');
function reload()
{location = \"index.php\"};
setTimeout('reload()', 0);
-->
</script>";
}
?>
<form action="index.php" method="post">
<span style="background:#EDC3C3;color:Red"><?=@$e1;?></span>
Ваше Имя:<br>
<input type="text" name="uname" value="<?=@$uname;?>"><br><br>
<span style="background:#EDC3C3;color:Red"><?=@$e2;?></span>
Текст Сообщения:<br>
<textarea name="utext" rows="10"><?=@$utext;?></textarea><br><br>
<span style="background:#EDC3C3;color:Red"><?=@$e3;?></span>
Ваш E-Mail:<br>
<input type="text" name="umail" value="<?=@$umail;?>"><br><br>
<span style="background:#EDC3C3;color:Red"><?=@$e4;?></span>
Контактный телефон:<br>
<input type="text" name="uphone" value="<?=@$uphone;?>"><br><br>
<span style="background:#EDC3C3;color:Red"><?=@$e5;?></span>
Введите результат 24*2=?:<br>
<input type="text" name="umath" value="">
<input type="hidden" name="go" value="5"><br>
<button type="submit">Отправить</button>
</form>
Ошибки заполнения $e1-$e5 можно разместить в удобном для Вас месте на странице, я разместила ошибки над соответствующими полями формы.