RSS
 

Get Adobe Flash player

Кращі ігри

Кращі фільми

 
[ Нові повідомлення · Учасники · Правила форуму · Пошук · RSS ]
  • Сторінка 1 з 1
  • 1
Подписка на рассылку
allgamenewsДата: Чт, 11.03.31, 19:14 | Повідомлення # 1
}{OTABUЧ
Группа: Адміністратори
Повідомлень: 577
Статус: відсутній
Заслуги User-A:
За 200 Постів За 400 Постів
В этом примере демонстрируется как с помощью php-скриптов создать проверочный код и с помошью него подписать/отписать пользователя на какую-либо рассылку. Подразумевается, что сама рассылка выполняется каким-то серверным скриптом или программой. Скрипт создает на странице форму с соответствующими полями и кодом подтверждения, пользователь выбирает действие, которое он хочет совершить (подписаться/отписаться), и вводит изображенный на картинке код. Если введенный код соответствует изображенному, форма отсылается и действие выполняется. Фактически, данный скрипт может использоваться более широко везде, где требуется код безопасности для подтверждения действий пользователя (например, активации/деактивации каких-то флагов для пользователя, установки/снятия каких-либо признаков и т.п). Исходный код данного примера приведен ниже.

В шаблоне страницы:

Code
<?IF($USER_ID$)?>
     <div align="center">
         


             <b>Данный пример демонстрирует использование скрипта для подписки/отписки на какую-либо рассылку для текущего пользователя с использованием кода безопасности</b>
         </p>
     </div>
     <hr>
     <?$PHPCODE$("http://phpexample.ucoz.net/php/example000/example000.php?uid=",$USER_ID$)?>
<?ELSE?>
     <div id="phpdiv">
         

Вы не зарегистрированны. Пожалуйста, зарегистрируйтесь или войдите своей учетной записью</p>
     </div>
<?ENDIF?>

PHP скрипт примера:

Code
<?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>
<form action="/php/example000/example000.php" method="post" onsubmit="_uPostForm(this,{dataType:'script'});return false;" onerror="alert('Error');">


<input type="hidden" name="userid" value="<?echo $_GET['uid']?>"></p>


<input type="radio" name="atype" value="0" CHECKED/>Подписаться</p>


<input type="radio" name="atype" value="1" />Отписаться</p>


<img src="/php/example000/index.php?<?php echo session_name()?>=<?php echo session_id()?>"></p>


<input type="text" name="keystring"></p>


<input type="submit" value="Ok"></p>
</form>
<div id='captcha_result'></div>
Прикріплене: phpex_podpiska.zip (5.9 Kb)


 
  • Сторінка 1 з 1
  • 1
Пошук:
Нова відповідь
Имя:
Текст повідомлення:
Опції повідомлення:
Read forums rules!!!
 
F-RL.COM не містить ніякої нелегальної інформації, тільки хеш-суми файлів вільно доступних в мережі. Власники сайту не можуть нести відповідальності за дії користувачів. Цей ресурс повністю анонімний - IP адреси і дії користувачів не зберігаються. Сайт не надає електронні версії творів, а займається індексуванням файлів, що знаходяться у файлообмінних мережах, Всі права на файли належать правовласникам. Якщо ви є правовласником файлу, проіндексованого нашою пошуковою машиною і не бажаєте щоб посилання на нього знаходилось в нашому каталозі, ознайомтесь з правилами нашого ресурсу. Для скарг пишіть сюди: holder@f-rl.com