Форум Diz-Cs.Ru
Преимущества регистрации:
Возможность создания тем
Общение с пользователями
Найдете множество полезной информации
Найдете своих единомышленников
DIZ-CS.RU - Мы с Вами НАВСЕГДА!
  • Страница 1 из 1
  • 1
Модератор форума: -SAM-  
Скрипт "Подписка на рассылку"
Дата: Вс, 13.11.2011, 19:27:14 | Сообщение # 1
Аватарка Данил
OFF
Пользователь
136 Сообщения:
39 Награды:
Skype пользователя:
Скрипт "Подписка на рассылку"

Описание данного скрипта:
В этом примере демонстрируется как с помощью php-скриптов создать проверочный код и с помощью него подписать/отписать пользователя на какую-либо рассылку. Подразумевается, что сама рассылка выполняется каким-то серверным скриптом или программой. Скрипт создает на странице форму с соответствующими полями и кодом подтверждения, пользователь выбирает действие, которое он хочет совершить (подписаться/отписаться), и вводит изображенный на картинке код. Если введенный код Cоответствует изображенному, форма отсылается и действие выполняется. Фактически, данный скрипт может использоваться более широко везде, где требуется код безопасности для подтверждения действий пользователя (например, активации/деактивации каких-то флагов для пользователя, установки/снятия каких-либо признаков и т.п). Данный скрипт подойдёт для любого сайта ,любой тематики, полезный скрипт.
Установка скрипта:
В шаблоне страницы:

Code
<?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   
   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']);   
   ?>   

   <p>Рассылка новостей</p>   
   <form action="/php/example000/example000.php" method="post" onsubmit="_uPostForm(this,{dataType:'script'});return false;" onerror="alert('Error');">   
   <p><input type="hidden" name="userid" value="<?echo $_GET['uid']?>"></p>   
   <p><input type="radio" name="atype" value="0" CHECKED/>Подписаться</p>   
   <p><input type="radio" name="atype" value="1" />Отписаться</p>   
   <p><img src="/php/example000/index.php?<?php echo session_name()?>=<?php echo session_id()?>"></p>   
   <p><input type="text" name="keystring"></p>   
   <p><input type="submit" value="Ok"></p>   
   </form>   
   <div id='captcha_result'></div>

Жизнь никогда не бывает справедливой. Для большинства из нас так оно, пожалуй, лучше.
  • Страница 1 из 1
  • 1
Поиск: