artoym_radin 0 Опубликовано: 24 октября 2010 Рассказать Опубликовано: 24 октября 2010 (изменено) Начал исправлять ошибки в модуле "Реферальная программа". С первой ошибкой столкнулся такой . Когда переходишь на сайт по реф ссылке http://************.com/index.php?do=referral&action=go&reffer=SISADMIN Далее в модуле есть куссок кода который должен записывать логин рефера в куки. Вот он... Но он почему то не записывает. В чем может быть причина??? if($action == 'go'){ if (!isset($_SESSION["reffer_id"])){ $reffer = trim($_POST['reffer']); @session_register('reffer'); $_SESSION["reffer"]=$reffer; } А вот собственно и весь код модуля <?php /* ===================================================== DataLife Engine - by SoftNews Media Group ----------------------------------------------------- http://dle-news.ru/ ----------------------------------------------------- Copyright (c) 2004,2008 SoftNews Media Group Данный код защищен авторскими правами ===================================================== Файл: referral.php ----------------------------------------------------- Назначение: Реферальная программа ===================================================== */ if(!defined('DATALIFEENGINE')) { die("Hacking attempt!"); } if($action == 'go'){ if (!isset($_SESSION["reffer_id"])){ $reffer = trim($_POST['reffer']); @session_register('reffer'); $_SESSION["reffer"]=$reffer; } header("Location:/"); } $tpl->load_template('referral.tpl'); if($action=='pay'){ @include (ENGINE_DIR.'/data/ref_config.php'); if ($member_id[ref_balans]>$ref_config[min_out]) { $add_time=date("Y-m-d"); $db->query("INSERT INTO " . USERPREFIX . "_ref (user_id, out_summ, date_order) VALUES ('".$member_id['user_id']."', '".$member_id['ref_balans']."','". $add_time."')"); $db->query("UPDATE " . USERPREFIX . "_users set ref_balans=0 WHERE user_id='".$member_id['user_id']."'"); $member_id[ref_balans]=0; } else msgbox ($lang['all_info'], "У вас недостаточно средств для совершения выплаты"); } if ($action=='list') { if($member_id[referral]=='')$member_id[referral]='0'; $list_ref_user=explode(",",$member_id[referral]); $list='<table border="0" cellspacing="0" cellpadding="0">'; foreach($list_ref_user as $ref_id){ $row=$db->super_query("SELECT name FROM " . USERPREFIX . "_users WHERE user_id=".$ref_id); if ($row[name]) $list.=<<<HTML <tr> <td> {$row[name]} </td> </tr> HTML; } $list.='</table>'; $tpl->set('{list}',$list); $tpl->set('[list]',''); $tpl->set('[/list]',''); $tpl->set_block("'\\[main\\](.*?)\\[/main\\]'si",""); }else { $tpl->set('[main]',''); $tpl->set('[/main]',''); $tpl->set('{balans}',$member_id[ref_balans]); if ($member_id[referral]=='') $tpl->set('{count_user}',0); else $tpl->set('{count_user}',count(explode(",",$member_id[referral]))); $tpl->set_block("'\\[list\\](.*?)\\[/list\\]'si",""); $ref_link=$config[http_home_url]."index.php?do=referral&action=go&reffer=".$member_id[name]; $tpl->set('{ref_link}',$ref_link); } $tpl->compile('content'); $tpl->clear(); ?> Как вообще можно код этого модуля привести в рабочий вид? Изменено 24 октября 2010 пользователем artoym_radin Цитата Ссылка на сообщение Поделиться на других сайтах
WWW.ZEOS.IN 1 161 Опубликовано: 24 октября 2010 Рассказать Опубликовано: 24 октября 2010 Если ваша тема начинается с вопроса и вам нужна какая либо помощь, то в самой теме в обязательном порядке вы должны указывать ссылку на ваш сайт. Если ваш сайт находится в локальной сети и вы не можете предоставить ссылку, или вы не хотите публиковать открытой ссылки на ваш сайт, то отправляйте персональное сообщение с вопросом в службу поддержки непосредственно с сайта http://dle-news.ru/, вам ответят на ваш вопрос в персональном порядке, в случае если пользуетесь платной версией скрипта и обладаете лицензией на скрипт. Если вы пользуетесь демоверсией, то вы вам необходимо разместить сайт в сети интернет, и только потом обращаться за помощью. По находящимся на локальных компьютерах демоверсиям никакой помощи и поддержки на форуме не оказывается. Если вы не указали сайт, то ваша тема будет закрыта, а аккаунт на форуме заблокирован. Цитата Ссылка на сообщение Поделиться на других сайтах
artoym_radin 0 Опубликовано: 24 октября 2010 Рассказать Опубликовано: 24 октября 2010 Автор Если ваша тема начинается с вопроса и вам нужна какая либо помощь, то в самой теме в обязательном порядке вы должны указывать ссылку на ваш сайт. Если ваш сайт находится в локальной сети и вы не можете предоставить ссылку, или вы не хотите публиковать открытой ссылки на ваш сайт, то отправляйте персональное сообщение с вопросом в службу поддержки непосредственно с сайта http://dle-news.ru/, вам ответят на ваш вопрос в персональном порядке, в случае если пользуетесь платной версией скрипта и обладаете лицензией на скрипт. Если вы пользуетесь демоверсией, то вы вам необходимо разместить сайт в сети интернет, и только потом обращаться за помощью. По находящимся на локальных компьютерах демоверсиям никакой помощи и поддержки на форуме не оказывается. Если вы не указали сайт, то ваша тема будет закрыта, а аккаунт на форуме заблокирован. У меня сайт стоит на локалке на денвере. Пока только тестирую... Цитата Ссылка на сообщение Поделиться на других сайтах
Adobe 111 Опубликовано: 24 октября 2010 Рассказать Опубликовано: 24 октября 2010 Если ваша тема начинается с вопроса и вам нужна какая либо помощь, то в самой теме в обязательном порядке вы должны указывать ссылку на ваш сайт. Если ваш сайт находится в локальной сети и вы не можете предоставить ссылку, или вы не хотите публиковать открытой ссылки на ваш сайт, то отправляйте персональное сообщение с вопросом в службу поддержки непосредственно с сайта http://dle-news.ru/, вам ответят на ваш вопрос в персональном порядке, в случае если пользуетесь платной версией скрипта и обладаете лицензией на скрипт. Если вы пользуетесь демоверсией, то вы вам необходимо разместить сайт в сети интернет, и только потом обращаться за помощью. По находящимся на локальных компьютерах демоверсиям никакой помощи и поддержки на форуме не оказывается. Если вы не указали сайт, то ваша тема будет закрыта, а аккаунт на форуме заблокирован. У меня сайт стоит на локалке на денвере. Пока только тестирую... Ну Вы же потом его все равно будете куда-нибудь ставить? Цитата Ссылка на сообщение Поделиться на других сайтах
artoym_radin 0 Опубликовано: 24 октября 2010 Рассказать Опубликовано: 24 октября 2010 Автор Если ваша тема начинается с вопроса и вам нужна какая либо помощь, то в самой теме в обязательном порядке вы должны указывать ссылку на ваш сайт. Если ваш сайт находится в локальной сети и вы не можете предоставить ссылку, или вы не хотите публиковать открытой ссылки на ваш сайт, то отправляйте персональное сообщение с вопросом в службу поддержки непосредственно с сайта http://dle-news.ru/, вам ответят на ваш вопрос в персональном порядке, в случае если пользуетесь платной версией скрипта и обладаете лицензией на скрипт. Если вы пользуетесь демоверсией, то вы вам необходимо разместить сайт в сети интернет, и только потом обращаться за помощью. По находящимся на локальных компьютерах демоверсиям никакой помощи и поддержки на форуме не оказывается. Если вы не указали сайт, то ваша тема будет закрыта, а аккаунт на форуме заблокирован. У меня сайт стоит на локалке на денвере. Пока только тестирую... Ну Вы же потом его все равно будете куда-нибудь ставить? Конечно. Но пока у меня нет ни домена ни хостинга. Первую проблему решил так $action = $_REQUEST['action']; if($action == 'go') { $reffer = $_REQUEST['reffer']; $row = $db->super_query("SELECT user_id from " . PREFIX . "_users WHERE name='$reffer'"); $reffer_id = $row['user_id']; set_cookie( "reffer_id", "$reffer_id", 0 ); header("Location:/"); } Теперь данные записываються в куки. Записываеться шв пользователя который дал ссылку. Далее в register.php вставляю код который будет делать запись в БД о том что у него есть реффералы. //refferal begin include (ENGINE_DIR.'/data/ref_config.php'); $reffer_id = $_SESSION[reffer_id]; $row=$db->super_query("SELECT ref_balans, referral FROM " . USERPREFIX . "_users WHERE user_id='$reffer_id'"); $row2=$db->super_query("SELECT user_id FROM " . USERPREFIX . "_users WHERE name='$name'"); $name=$row2['iser_id']; $ref_last_array=explode(",",$row[referral]); $reffers=$row['referral']; $reffers_list="$reffers, $name"; $ref_balans=$row['ref_balans']; $ref_con=$ref_config['summ']; $ref_balans_out=$ref_balans + $ref_con; $db->query("UPDATE dle_users SET referral='$reffers_list', ref_balans='$ref_balans_out' WHERE user_id='$reffer_id'"); //refferal end Этот кода после $db->query( "INSERT INTO " . USERPREFIX . "_users (name, password, email, reg_date, lastdate, user_group, info, signature, favorites, xfields, logged_ip) VALUES ('$name', '$regpassword', '$email', '$add_time', '$add_time', '" . $config['reg_group'] . "', '', '', '', '', '" . $_IP . "')" ); Все равно не записывает данный в бд. Как можно подправить. Отблагодарю денюжкой. Цитата Ссылка на сообщение Поделиться на других сайтах
artoym_radin 0 Опубликовано: 24 октября 2010 Рассказать Опубликовано: 24 октября 2010 Автор Тема закрыта. Проблему решил сам Цитата Ссылка на сообщение Поделиться на других сайтах
Рекомендованные сообщения
Присоединяйтесь к обсуждению
Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.