Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Практическая работа_3_PHP.doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
115.2 Кб
Скачать
  1. Форматированный вывод строк в 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>

  1. Проверка введенных данных на php, отправка заполненной формы на почту

В нашем примере у нас 5 полей, которые необходимо заполнить:

- имя

- сообщение

- e-mail

- контактный телефон

- контрольное число для защиты

Помимо простой проверки на пустоту поля, мы покажем, как проверить, правильно ли введен 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 можно разместить в удобном для Вас месте на странице, я разместила ошибки над соответствующими полями формы.