Scorpion, в общем не дождавшись предпочтений я отдаю скрипт в виде кода.
Копир в шапке не удалять! (я знаю, о ваших намерениях)
![]()
В двух словах о возможностях. Скрипт проверяет на заполненность пОля, а так же на корректность введённого адреса, отслеживает ошибки, и при их наличии выводит уведомление на несколько секунд, а так же ведёт подсчёт адресов, хранящихся в текстовом файле, и выводит их количество вместе с их списком. Если этого покажется мало, то допиcывать буду уже за деньги.
Код универсален, то есть можно файл инклудить в другой файл, и вызывать результат его работы обращением к переменной echo $view;.
addEmail.php (+/-)
<?php
/**
* Данный копирайт - оплата за использование скрипта.
* @Author ДоХтор
* @E-mail drzoom@mail.ru
**/
$view = '';
$filename = 'base.txt';
$refresh = function ($int, $url) {
header('Refresh: '. $int .'; url='. $url);
};
if (!file_exists($filename))
file_put_contents($filename, null);
$email = isset($_POST['email']) ? trim(htmlspecialchars($_POST['email'])) : '';
if (!empty($_POST)) {
$error = array();
if (empty($email)) {
$refresh(2, $_SERVER['PHP_SELF']);
$error[] = '<b>Не введен e-mail!</b><br />';
} elseif (preg_match('/[0-9a-z_\.\-]+@[0-9a-z_\.\-]+\.[a-z]{2,4}/i', $email) == false){
$refresh(2, $_SERVER['PHP_SELF']);
$error[] = '<b>Некорректный ввод адреса e-mail!</b><br />';
}
if (empty($error)) {
$array_email = file($filename);
$temp = array();
foreach ($array_email as $str_email) {
$temp[] = $str_email;
}
if (!in_array($email . PHP_EOL, $temp)) {
file_put_contents($filename, $email . PHP_EOL, FILE_APPEND | LOCK_EX);
$refresh(4, $_SERVER['PHP_SELF']);
$view = 'Адрес <b>'. $email .'</b> успешно добавлен в каталог!<br />';
} else {
$refresh(2, $_SERVER['PHP_SELF']);
$view = 'Адрес <b>'. $email .'</b> уже есть в каталоге!<br />';
}
} else {
$view = implode('<br />', $error);
}
}
$array_email = file($filename);
$all = sizeof($array_email);
if ($all == 0) {
$view .= 'Список пуст!<br />';
} else {
$view .= 'Список адресов: (всего: '. $all .' шт.)<br />';
foreach ($array_email as $str_email) {
$view .= $str_email .'<br />';
}
}
?><form action="<?=$_SERVER['PHP_SELF']?>" method="post">
<input type="text" name="email" value="<?=$email?>" />
<input type="submit" value="Подписаться" />
</form>
<?=$view?>