В этом примере демонстрируется как с помощью php-скриптов создать проверочный код и с помошью него подписать/отписать пользователя на какую-либо рассылку. Подразумевается, что сама рассылка выполняется каким-то серверным скриптом или программой. Скрипт создает на странице форму с соответствующими полями и кодом подтверждения, пользователь выбирает действие, которое он хочет совершить (подписаться/отписаться), и вводит изображенный на картинке код. Если введенный код соответствует изображенному, форма отсылается и действие выполняется. Фактически, данный скрипт может использоваться более широко везде, где требуется код безопасности для подтверждения действий пользователя (например, активации/деактивации каких-то флагов для пользователя, установки/снятия каких-либо признаков и т.п). Исходный код данного примера приведен ниже.
В шаблоне страницы:
<?IF($USER_ID$)?> <div align="center"> <p> <b>Данный пример демонстрирует использование скрипта для подписки/отписки на какую-либо рассылку для текущего пользователя с использованием кода безопасности</b> </p> </div> <hr> <?$PHPCODE$("http://phpexample.ucoz.net/php/example000/example000.php?uid=",$USER_ID$)?> <?ELSE?> <div id="phpdiv"> <p>Вы не зарегистрированны. Пожалуйста, зарегистрируйтесь или войдите своей учетной записью</p> </div> <?ENDIF?>
PHP скрипт примера:
<?php session_start(); if(count($_POST)>0){ $___notjson=1; if(isset($_SESSION['captcha_keystring']) && $_SESSION['captcha_keystring'] == $_POST['keystring']){ $lines = file('subscr.dat'); if ($_POST['atype']) { $status_ok=0; foreach ($lines as $line_num => $line) { if (trim($line)==$_POST['userid']) { unset($lines[$line_num]); file_put_contents('subscr.dat', $lines); $status_ok=1; break; } } if ($status_ok) echo "$('#captcha_result').html('Вы отписались от рассылки')"; else echo "$('#captcha_result').html('Вы не были подписаны на рассылку')"; } else { $status_err=0; foreach ($lines as $line_num => $line) { if (trim($line)==$_POST['userid']) { $status_err=1; break; } } if ($status_err) echo "$('#captcha_result').html('Вы уже подписаны на рассылку')"; else { if (file_put_contents('subscr.dat', $_POST['userid']."\n", FILE_APPEND)==FALSE) echo "$('#captcha_result').html('Ошибка, попробуйте позже')"; echo "$('#captcha_result').html('Вы подписались на рассылку')"; } } }else{ echo "$('#captcha_result').html('Неверный код безопасности')"; } exit; } unset($_SESSION['captcha_keystring']); ?>
Кстати, если кому нужен реально качественный сервис для рассылки, могу порекомендовать такой вот хороший http://StandartSend.ru Сам им пользуюсь и пока что очень и очень доволен)