Od jakiegos czasu juz szukam i na razie udalo mi sie dojsc tylko do tego, co napisalam powyzej. Moze ktos z was natknal sie juz kiedys na ten problem i zaoszczedzi mi poszukiwan
MultiVote_Mod_v.1.3.3 - problem
MultiVote_Mod_v.1.3.3 - problem
Otoz wlasnie od jakiegos czasu walcze z modem MultiVote_Mod_v.1.3.3. Problem jest w tym, ze nie jest aktualizowana baza wynikow (vote_results) po zaglosowaniu - zarowno w opcji wielokrotnego jak i pojedynczego wyboru.
Od jakiegos czasu juz szukam i na razie udalo mi sie dojsc tylko do tego, co napisalam powyzej. Moze ktos z was natknal sie juz kiedys na ten problem i zaoszczedzi mi poszukiwan
Poki co wracam do kodu...
Od jakiegos czasu juz szukam i na razie udalo mi sie dojsc tylko do tego, co napisalam powyzej. Moze ktos z was natknal sie juz kiedys na ten problem i zaoszczedzi mi poszukiwan
a zapytania do sql dodane ??
Zapraszam również na moje forum: www.indianie.info
www.sklepbezglutek.pl - zapraszam do sklepu z żywnością bezglutenową i niskobiałkową. Makarony, chleby, zdrowa żywność. Wysyłane od ręki bez ryzyka utraty świeżości w trakcie dostarczania.
www.sklepbezglutek.pl - zapraszam do sklepu z żywnością bezglutenową i niskobiałkową. Makarony, chleby, zdrowa żywność. Wysyłane od ręki bez ryzyka utraty świeżości w trakcie dostarczania.
Tak.
Problem lezy w tym, ze zapytanie zmieniajace zawartosc wspomnianej tabeli w skrypcie php w pliku posting.php nie wykonuje sie - skrypt gdzies po drodze idzie w inna strone... Jeszcze nie udalo mi sie znalesc w jaka i dlaczego...
Moze od razu pokaze moje podejrzenia:
Orginalna czesc skryptu
Skrypt po dodaniu moda
Problemem jest niewykonywanie sie tego fragmentu:
Ogolnie to pewnie jestem slepa i nie widze czegos banalnego
Moze ktos z was cos dostrzeze...
Problem lezy w tym, ze zapytanie zmieniajace zawartosc wspomnianej tabeli w skrypcie php w pliku posting.php nie wykonuje sie - skrypt gdzies po drodze idzie w inna strone... Jeszcze nie udalo mi sie znalesc w jaka i dlaczego...
Moze od razu pokaze moje podejrzenia:
Orginalna czesc skryptu
Kod: Zaznacz cały
else if ( $mode == 'vote' )
{
//
// Vote in a poll
//
if ( !empty($HTTP_POST_VARS['vote_id']) )
{
$vote_option_id = intval($HTTP_POST_VARS['vote_id']);
$sql = "SELECT vd.vote_id
FROM " . VOTE_DESC_TABLE . " vd, " . VOTE_RESULTS_TABLE . " vr
WHERE vd.topic_id = $topic_id
AND vr.vote_id = vd.vote_id
AND vr.vote_option_id = $vote_option_id
GROUP BY vd.vote_id";
if ( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, 'Could not obtain vote data for this topic', '', __LINE__, __FILE__, $sql);
}
if ( $vote_info = $db->sql_fetchrow($result) )
{
$vote_id = $vote_info['vote_id'];
$sql = "SELECT *
FROM " . VOTE_USERS_TABLE . "
WHERE vote_id = $vote_id
AND vote_user_id = " . $userdata['user_id'];
if ( !($result2 = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, 'Could not obtain user vote data for this topic', '', __LINE__, __FILE__, $sql);
}
if ( !($row = $db->sql_fetchrow($result2)) )
{
$sql = "UPDATE " . VOTE_RESULTS_TABLE . "
SET vote_result = vote_result + 1
WHERE vote_id = $vote_id
AND vote_option_id = $vote_option_id";
if ( !$db->sql_query($sql, BEGIN_TRANSACTION) )
{
message_die(GENERAL_ERROR, 'Could not update poll result', '', __LINE__, __FILE__, $sql);
}
$sql = "INSERT INTO " . VOTE_USERS_TABLE . " (vote_id, vote_user_id, vote_user_ip)
VALUES ($vote_id, " . $userdata['user_id'] . ", '$user_ip')";
if ( !$db->sql_query($sql, END_TRANSACTION) )
{
message_die(GENERAL_ERROR, "Could not insert user_id for poll", "", __LINE__, __FILE__, $sql);
}
$message = $lang['Vote_cast'];
}
else
{
$message = $lang['Already_voted'];
}
$db->sql_freeresult($result2);
}
else
{
$message = $lang['No_vote_option'];
}
$db->sql_freeresult($result);
$template->assign_vars(array(
'META' => '<meta http-equiv="refresh" content="3;url=' . append_sid("viewtopic.$phpEx?" . POST_TOPIC_URL . "=$topic_id") . '">')
);
$message .= '<br /><br />' . sprintf($lang['Click_view_message'], '<a href="' . append_sid("viewtopic.$phpEx?" . POST_TOPIC_URL . "=$topic_id") . '">', '</a>');
message_die(GENERAL_MESSAGE, $message);
}
else
{
redirect(append_sid("viewtopic.$phpEx?" . POST_TOPIC_URL . "=$topic_id", true));
}
}Kod: Zaznacz cały
else if ( $mode == 'vote' )
{
//
// Vote in a poll
//
$vote_option_id = intval($HTTP_POST_VARS['vote_id']);
$sql = "SELECT vd.vote_id, vd.vote_max
FROM " . VOTE_DESC_TABLE . " vd, " . VOTE_RESULTS_TABLE . " vr
WHERE vd.topic_id = $topic_id
AND vr.vote_id = vd.vote_id
AND vr.vote_option_id = $vote_option_id
GROUP BY vd.vote_id";
if ( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, 'Could not obtain vote data for this topic', '', __LINE__, __FILE__, $sql);
}
if ( $vote_info = $db->sql_fetchrow($result) )
{
$max_vote = $vote_info['vote_max'];
}
$max_voting=count($vote_id);
if ($max_voting>$max_vote)
$max_voting=$max_vote;
$vddd='';
for($i = 0; $i < $max_voting; $i++)
{
$vbn[$i]= $vote_id[$i];
};
$sql = "SELECT vd.vote_id
FROM " . VOTE_DESC_TABLE . " vd, " . VOTE_RESULTS_TABLE . " vr
WHERE vd.topic_id = $topic_id
AND vr.vote_id = vd.vote_id
AND vr.vote_option_id = $vote_option_id
GROUP BY vd.vote_id";
if ( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, 'Could not obtain vote data for this topic', '', __LINE__, __FILE__, $sql);
}
if ( $vote_info = $db->sql_fetchrow($result) )
{
$vote_id = $vote_info['vote_id'];
$sql = "SELECT *
FROM " . VOTE_USERS_TABLE . "
WHERE vote_id = $vote_id
AND vote_user_id = " . $userdata['user_id'];
if ( !($result2 = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, 'Could not obtain user vote data for this topic', '', __LINE__, __FILE__, $sql);
}
if ( !($row = $db->sql_fetchrow($result2)) )
{
for($i = 0; $i < $max_voting; $i++)
{
$vote_option_id = $vbn[$i];
$sql = "UPDATE " . VOTE_RESULTS_TABLE . "
SET vote_result = vote_result + 1
WHERE vote_id = $vote_id
AND vote_option_id = $vote_option_id";
$vote_option_id = $vddd;
if ( !$db->sql_query($sql, BEGIN_TRANSACTION) )
{
message_die(GENERAL_ERROR, 'Could not update poll result', '', __LINE__, __FILE__, $sql);
}
}
$sql = "UPDATE " . VOTE_DESC_TABLE . "
SET vote_voted = vote_voted + 1
WHERE vote_id = $vote_id
AND topic_id = $topic_id";
if ( !$db->sql_query($sql, BEGIN_TRANSACTION) )
{
message_die(GENERAL_ERROR, 'Could not update poll voted', '', __LINE__, __FILE__, $sql);
}
$sql = "INSERT INTO " . VOTE_USERS_TABLE . " (vote_id, vote_user_id, vote_user_ip)
VALUES ($vote_id, " . $userdata['user_id'] . ", '$user_ip')";
if ( !$db->sql_query($sql, END_TRANSACTION) )
{
message_die(GENERAL_ERROR, "Could not insert user_id for poll", "", __LINE__, __FILE__, $sql);
}
$message = $lang['Vote_cast'];
}
else
{
$message = $lang['Already_voted'];
}
$db->sql_freeresult($result2);
}
else
{
$message = $lang['No_vote_option'];
}
$db->sql_freeresult($result);
$template->assign_vars(array(
'META' => '<meta http-equiv="refresh" content="3;url=' . append_sid("viewtopic.$phpEx?" . POST_TOPIC_URL . "=$topic_id") . '">')
);
$message .= '<br /><br />' . sprintf($lang['Click_view_message'], '<a href="' . append_sid("viewtopic.$phpEx?" . POST_TOPIC_URL . "=$topic_id") . '">', '</a>');
message_die(GENERAL_MESSAGE, $message);
}Kod: Zaznacz cały
$sql = "UPDATE " . VOTE_RESULTS_TABLE . "
SET vote_result = vote_result + 1
WHERE vote_id = $vote_id
AND vote_option_id = $vote_option_id";
Ostatnio zmieniony 05 lipca 2005, 16:02 przez Lilly, łącznie zmieniany 2 razy.
czy pojawia się błąd może zły prefix ??Lilly pisze:Problem lezy w tym, ze zapytanie zmieniajace zawartosc wspomnianej tabeli w skrypcie php w pliku posting.php nie wykonuje sie
podaj to zapytanie tutaj.
niepodoba mi się ten fragment:
Lilly pisze: message_die(GENERAL_ERROR, 'Could not update poll result', '', __LINE__, __FILE__, $sql);
}
} <- czy to jest potrzebne bo coś nie dowidze albo nie
$sql = "UPDATE " . VOTE_DESC_TABLE . "
Zapraszam również na moje forum: www.indianie.info
www.sklepbezglutek.pl - zapraszam do sklepu z żywnością bezglutenową i niskobiałkową. Makarony, chleby, zdrowa żywność. Wysyłane od ręki bez ryzyka utraty świeżości w trakcie dostarczania.
www.sklepbezglutek.pl - zapraszam do sklepu z żywnością bezglutenową i niskobiałkową. Makarony, chleby, zdrowa żywność. Wysyłane od ręki bez ryzyka utraty świeżości w trakcie dostarczania.
Nic sie nie pojawia - skrypt nawet do niego nie dochodzi - zatrzymuje sie na ktoryms ifie wczesniej - niestety jeszcze nie zlokalizowalam wszystkich elementow, co, skad po co i dlaczego...mateusz pisze:czy pojawia się błąd może zły prefix ??Lilly pisze:Problem lezy w tym, ze zapytanie zmieniajace zawartosc wspomnianej tabeli w skrypcie php w pliku posting.php nie wykonuje sie
podaj to zapytanie tutaj.
To tylko wciecia sie nieszczesliwie wkleily. Jesli dobrze patrze, to odnosi sie do fora.mateusz pisze: niepodoba mi się ten fragment:Lilly pisze: message_die(GENERAL_ERROR, 'Could not update poll result', '', __LINE__, __FILE__, $sql);
}
} <- czy to jest potrzebne bo coś nie dowidze albo nie
$sql = "UPDATE " . VOTE_DESC_TABLE . "
Spoko, kryzys jak na razie zazegnany
(teraz pozostala faza testow, ale poki co wszystko dziala poprawnie i przewidywalnie).
Dla przyszlych poszukiwaczy podam tylko info, ze pomoglo dodanie na poczatku tego fragmentu:
Znalazlam to w jakims innym modzie do multivota 
Dla przyszlych poszukiwaczy podam tylko info, ze pomoglo dodanie na poczatku tego fragmentu:
Kod: Zaznacz cały
$vote_id = $HTTP_POST_VARS['vote_id'];