Zliczanie kliknięć PHPBB3


(Zarix) #1

Witam, mam pewien problem. Posiadam skrypt, który po kliknięciu w button toplisty zapisywał w bazie danych nick danego usera, a następnie przekierowywał go na właściwą stronę głosowania. Po przejściu z phpbb2 by Przemo na phpbb3 skrypt przestał działać. Po kilku modyfikacjach ze strony osoby, która go napisała nadal nie chodziło on idealnie, a wręcz nic tego nie zmieniło. Moglibyście pomóc mi z nim? Poniżej załączam kod:

red.php

<?php

define('IN_PHPBB', true);

$phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : './';

$phpEx = substr(strrchr( __FILE__ , '.'), 1);

include($phpbb_root_path . 'common.' . $phpEx);

$user->session_begin();

$auth->acl($user->data);

include($phpbb_root_path . 'includes/functions_display.' . $phpEx);


$user->session_begin();

$auth->acl($user->data);

if (isset($_GET['strona'])) {

if ( $user->data['user_id'] != -1){

$strona = $_GET['strona'];


$result = $db->sql_query('SELECT klik FROM `topki` WHERE `user_id` ="'.$user->data['user_id'] . '" and strona = "'.$strona . '"');

$row = $db->sql_fetchrow($result);

$klik = $row['klik'];


if ($klik == NULL){



$ilerazy = 1;



$db->sql_query('INSERT INTO topki (user_id, strona, klik, ilerazy, id) VALUES ("'.$user->data['username'] . '", "'.$strona.'", 1, "'.$ilerazy.'", NULL )');


echo ('');



}

elseif ($klik == 0)

{

$result = $db->sql_query('SELECT ilerazy FROM `topki` WHERE `user_id` ="'.$user->data['username'] . '" and strona = "'.$strona . '"');

$row = $db->sql_fetchrow($result);

$ilerazy = $row['ilerazy'];

$ilerazy = $ilerazy + 1;



$db->sql_query('Update topki set klik = 1 where `user_id` ="'.$user->data['username'] . '" and strona = "'.$strona . '"');


$db->sql_query('Update topki set ilerazy = "'.$ilerazy.'" where `user_id` ="'.$user->data['username'] . '" and strona = "'.$strona . '"');



echo ('');



}

elseif ($klik == 1)

{

echo 'juz glosowales';

echo ('');


}

else {echo 'cos nie tak';}

}

else{

$url = "'http://ninjagaiden.pl/index.php'";

echo 'Zaloguj sie na swoje konto i zaglosuj w toplisty.';

echo ('');

}

}

ile.php

<?php

define('IN_PHPBB', true);

$phpbb_root_path = './';

include($phpbb_root_path . 'extension.inc');

include($phpbb_root_path . 'common.'.$phpEx);


$user->session_begin();

$auth->acl($user->data);




?>




Topki lookacz



');

}

$ile = 0;

if (isset($_GET['user'])) {

$query='SELECT user_id, strona, ilerazy FROM topki where user_id = "'.$_GET['user'].'"';

$result = $db->sql_query($query);

echo $_GET['user'];

echo ' zagłosował łącznie: ';

while ($row = $db->sql_fetchrow($result)) {

$ile = $ile + $row['ilerazy'];

}

echo $ile;

echo ' razy';

}

echo('

Powrót [/code] [b]kas.php.[/b]
[code] <?php function connection() { $mysql_server = "localhost"; $mysql_admin = "******"; $mysql_pass = "******"; $mysql_db = "******"; @mysql_connect($mysql_server, $mysql_admin, $mysql_pass) or die('Brak połączenia z serwerem MySQL.'); @mysql_select_db($mysql_db) or die('Błąd wyboru bazy danych.'); } function odczyt(){ connection(); $sql = "Update topki set klik = 0" ; $query = mysql_query($sql); echo 'done'; } odczyt(); ?>

Struktura basy danych:

obrazya.png

Ogólnie miało to zapisywać nick usera, który kliknął w topliste. uniemożliwić mu głosowanie będąc niezalogowanym, zliczać głosy danego usera, jedno kliknięcie w jedną topliste dziennie (kas.php miał być odpalany na crono) i chyba to wszystko. Mam nadzieję, że pomożecie mi przerobić ten skrypt by zaczął wreszcie działać, bądź napiszecie mi go od nowa, gdyż ja niestety nie znam się na programowaniu, lecz wydaje mi się, że nie jest to bardzo skomplikowane dla kogoś kto zna się na tym. Z góry dziękuje za pomoc!