GlockLose
 
E-mail (uNet):
Пароль:
Место свободно
Место свободно
Новые сообщения | Участники | Правила форума | Поиск | Ваша ссылка
  • Страница 1 из 1
  • 1
Скрипт "Подписка на рассылку"
GlaiderДата: Четверг, 12.04.2012, 18:29 | Сообщение # 1 | Жаловаться


Тут я Директор :D
Сообщений: 104
Награды: 2
Offline




Описание данного скрипта:
В этом примере демонстрируется как с помощью 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
Поиск:


Статистика форума
Недавно обновленные темы:
Популярные темы:
Лучшие пользователи:
Новые пользователи:
Оцените сайт [ 0 ]
Оценка сайт о uCoz [ 0 ]
Считаем до 100 [ 28 ]
Оценка форума "INFOL... [ 2 ]
Обмен [ 0 ]
Новый Топ пользователей с... [ 0 ]
Простой и красивый вид фо... [ 0 ]
Красивый информер "к... [ 0 ]
Flash радио для сайта [ 0 ]
Игра "Городки" [ 1 ]
Считаем до 100 [ 28 ]
Обновления сайта. [ 10 ]
Чтобы... - нужно... [ 10 ]
Получи + на халяву! [ 9 ]
Общение. [ 6 ]
Оценка форума "INFOL... [ 2 ]
Как вы относитесь к CS:GO... [ 2 ]
Предложения по сайту/фору... [ 2 ]
Оцениваем наш сайт! [ 2 ]
Игра "Городки" [ 1 ]
Glaider [ 104 ]
Fox [ 21 ]
Kapa [ 12 ]
Lookflaco [ 7 ]
laym [ 4 ]
startsmart [ 4 ]
Onlines [ 4 ]
wow [ 2 ]
diplomnhelp2000 [ 2 ]
tvElwE [ 1 ]
akyelali95 [ 29.01.2024 ]
oleksandrdanevic [ 05.02.2022 ]
nico [ 19.12.2021 ]
azhuk666 [ 12.12.2021 ]
MrModerator [ 22.07.2020 ]
ksandrusa7 [ 14.07.2020 ]
hailynnellyse [ 23.01.2019 ]
igoryuzhov95 [ 13.01.2019 ]
defaultNick [ 19.02.2018 ]
tobiasroetgen98 [ 24.12.2017 ]