ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Программирование > PHP, PERL, MySQL, JavaScript
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

Пишу реферальную систему для phpbb. Помогите советом
  #1  
Старый 21.06.2008, 18:33
NApoleonchik
Участник форума
Регистрация: 04.07.2007
Сообщений: 111
Провел на форуме:
486797

Репутация: 102
Отправить сообщение для NApoleonchik с помощью ICQ
Arrow Пишу реферальную систему для phpbb. Помогите советом

Пишу реферальную систему для ПхпБб.

Пишу на пхп + мускул

Принцип заключаеться в чем. Когда зарегеный пользователь приводит по уник ссылке нового пользователя он получает + 1 поинт. ссылка выглядит примерно так

сайт.ру/индекс.пхп?123

Создал доп таблицу в мускуле :


CREATE TABLE `phpbb_points` (
`user_id` int(11) NOT NULL,
`username` text NOT NULL,
`userpoints` int(11) NOT NULL,
`ip` text NOT NULL,
`time` time NOT NULL,
PRIMARY KEY (`user_id`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251;


PHP код:
<?
include("config.php");

$id mysql_escape_string($_SERVER['QUERY_STRING']);

if (!
is_numeric($id) || strlen($id) == 0) echo"Error!";
else {
        
$login=mysql_fetch_array(mysql_query("SELECT user_id, username FROM phpbb_users WHERE id='".$id."'"));

        if (!empty(
$login['user'])) {

                
$ip=GetEnv("REMOTE_ADDR");
                
$now=time();

     
$res=mysql_fetch_array(mysql_query("SELECT `user_id` FROM php_points where ip='".$ip."' AND time>$now-86400"));
     
$col=mysql_fetch_array(mysql_query("SELECT count(*) as count FROM php_points where id='".$id."' AND time>$now-86400"));

     if (
$col['count']<=50) {
                        if (empty(
$res['user_id'])) {
    
                        
mysql_query("INSERT INTO php_points values ('".$login['user_id']."','$ip','$now')");
                        
mysql_query("UPDATE php_points set points=points+1 where id='".$login['user_id']."'");


            
                        }
                }
        
        }
       
mysql_close($link);

        
$host=GetEnv("HTTP_HOST");
        
Header("Location: http://$host/");

}
?>
Где-то ошибка. Не заполняеться база. Помогите кто может. Буду ооочень благодарен
 
Ответить с цитированием

  #2  
Старый 21.06.2008, 18:41
scrat
Постоянный
Регистрация: 08.04.2007
Сообщений: 853
Провел на форуме:
5812656

Репутация: 1540


Отправить сообщение для scrat с помощью ICQ
По умолчанию

а где у тебя в скрипте mysql_connect/mysql_select_db?
 
Ответить с цитированием

  #3  
Старый 21.06.2008, 18:45
NApoleonchik
Участник форума
Регистрация: 04.07.2007
Сообщений: 111
Провел на форуме:
486797

Репутация: 102
Отправить сообщение для NApoleonchik с помощью ICQ
По умолчанию

Файл конфиг пхп
PHP код:
<?php


// phpBB 2.x auto-generated config file
// Do not change anything in this file!

$dbms 'mysql';

$dbhost 'localhost';
$dbname 'db';
$dbuser 'user';
$dbpasswd 'pass';

$table_prefix 'phpbb_';

define('PHPBB_INSTALLED'true);

?>
а насчет селект ДБ, подскажите если не трудно куда прописать и как примерно должен выглядеть скрипт
 
Ответить с цитированием

  #4  
Старый 21.06.2008, 18:56
scrat
Постоянный
Регистрация: 08.04.2007
Сообщений: 853
Провел на форуме:
5812656

Репутация: 1540


Отправить сообщение для scrat с помощью ICQ
По умолчанию

PHP код:
mysql_connect($dbhost,$dbuser,$dbpasswd);
mysql_select_db($dbname); 
и во всех операциях с таблицей перед именем таблицы ставь $table_prefix
 
Ответить с цитированием

  #5  
Старый 21.06.2008, 19:01
NApoleonchik
Участник форума
Регистрация: 04.07.2007
Сообщений: 111
Провел на форуме:
486797

Репутация: 102
Отправить сообщение для NApoleonchik с помощью ICQ
По умолчанию

спасибо =) +1
 
Ответить с цитированием

  #6  
Старый 21.06.2008, 19:23
NApoleonchik
Участник форума
Регистрация: 04.07.2007
Сообщений: 111
Провел на форуме:
486797

Репутация: 102
Отправить сообщение для NApoleonchik с помощью ICQ
По умолчанию

всеравно что-то нетак, попробуйте ктонить у кого есть пхпББ пожалуйста. Сделал так

PHP код:
<?
include("config.php");


mysql_connect($dbhost,$dbuser,$dbpasswd
mysql_select_db($dbname);  


$id mysql_escape_string($_SERVER['QUERY_STRING']);

if (!
is_numeric($id) || strlen($id) == 0) echo"Error!";
else {
        
$login=mysql_fetch_array(mysql_query("SELECT user_id, username FROM phpbb_users WHERE id='".$id."'"));

        if (!empty(
$login['user'])) {

                
$ip=GetEnv("REMOTE_ADDR");
                
$now=time();

     
$res=mysql_fetch_array(mysql_query("SELECT `user_id` FROM phpbb_points where ip='".$ip."' AND time>$now-86400"));
     
$col=mysql_fetch_array(mysql_query("SELECT count(*) as count FROM php_points where id='".$id."' AND time>$now-86400"));

     if (
$col['count']<=50) {
                        if (empty(
$res['user_id'])) {
    
                        
mysql_query("INSERT INTO php_points values ('".$login['user_id']."','$ip','$now')");
                        
mysql_query("UPDATE php_points set points=points+1 where id='".$login['user_id']."'");


            
                        }
                }
        
        }
       
mysql_close($link);

        
$host=GetEnv("HTTP_HOST");
        
Header("Location: http://$host/");

}
?>
Помогите сделать пожалуйста

Последний раз редактировалось NApoleonchik; 21.06.2008 в 19:30..
 
Ответить с цитированием

  #7  
Старый 21.06.2008, 19:38
NApoleonchik
Участник форума
Регистрация: 04.07.2007
Сообщений: 111
Провел на форуме:
486797

Репутация: 102
Отправить сообщение для NApoleonchik с помощью ICQ
По умолчанию

up! Может кто знает есть ли где готовый скрипт или получиться дописать этот - буду очень благодарен
 
Ответить с цитированием

  #8  
Старый 22.06.2008, 00:46
scrat
Постоянный
Регистрация: 08.04.2007
Сообщений: 853
Провел на форуме:
5812656

Репутация: 1540


Отправить сообщение для scrat с помощью ICQ
По умолчанию

PHP код:
mysql_connect($dbhost,$dbuser,$dbpasswd
- скобку забыл
 
Ответить с цитированием

  #9  
Старый 22.06.2008, 02:48
Solker
Участник форума
Регистрация: 04.05.2006
Сообщений: 161
Провел на форуме:
389768

Репутация: 158
По умолчанию

В первом сообщении ты сказал что создал таблицу под именем "phpbb_points".
Но в самом скрипте при выборке или вставке в таблицу используешь альтернативное название "php_points".

Вероятно тебе надо определится с названием и закрыть скобку в 4-ой строчке.

mysql_close($link); Я полагаю, это не просто так в конце стоит.
Замени 4 и 5 строчку, на
PHP код:
$link mysql_connect($dbhost,$dbuser,$dbpasswd); 
$link mysql_select_db($dbname); 
и для красоты:
PHP код:
== 0) echo"Error!"
Поставь пробел после echo.
 
Ответить с цитированием

  #10  
Старый 22.06.2008, 02:53
GreenBear
наркоман с медалью
Регистрация: 07.05.2005
Сообщений: 3,704
Провел на форуме:
19975136

Репутация: 4536


Отправить сообщение для GreenBear с помощью ICQ
По умолчанию

ставь хотя бы or print mysql_error() после mysql_query(), раз пхпббешный класс для работы с бд не юзаешь. может там где ошибка - смотри.
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Облегчаем понимание Vista: 50 подсказок и трюков FraiDex Windows 3 29.01.2008 18:01
Pci--, PCI-Express Cthulchu Аппаратное обеспечение 0 28.01.2008 23:01
FAQ. Перед тем как задать вопрос. Fata1ex ICQ 1 04.11.2007 20:35
Взлом Unix а silveran *nix 4 21.12.2005 22:46



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ