Quiz Hack
Forumsregeln
phpBB 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.0, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
phpBB 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.0, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
könntet ihr mir mal sagen warum ihr immer irgendwas am code ändert und die probleme die dadurch entstehen auf den hack schiebt?
bei dir sieht der teil so aus:
bei mir so:
und fällt dir was auf? warum hast du das eigendlich geändert?
bei dir sieht der teil so aus:
Code: Alles auswählen
$points = $this->config['quiz_points_disable'] ? 1 : $this->quiz_data['quiz_points'];
$sql = "UPDATE " . USERS_TABLE . "
SET quiz_points = quiz_points + $points, user_points = user_points + $points
WHERE user_id = $userid";
if ( !$db->sql_query($sql) )
{
$this->notify_admin("Could not update topic quiz status", __LINE__, __FILE__, $sql);
return false;
}
$sql = "UPDATE " . USERS_TABLE . "
SET quiz_points = quiz_points + " . ( $this->config['quiz_points_disable'] ? 1 : $this->quiz_data['quiz_points'] ) . "
WHERE user_id = $userid";
if ( !$db->sql_query($sql) )
{
$this->notify_admin("Could not update user quiz points", __LINE__, __FILE__, $sql);
return false;
}
Code: Alles auswählen
$sql = "UPDATE " . TOPICS_TABLE . "
SET topic_quiz = 2
WHERE topic_id = '$topic_id'";
if ( !$db->sql_query($sql) )
{
$this->notify_admin('Could not update topic quiz status', __LINE__, __FILE__, $sql);
return false;
}
$sql = "UPDATE " . USERS_TABLE . "
SET quiz_points = quiz_points + " . ( $this->config['quiz_points_disable'] ? 1 : $this->quiz_data['quiz_points'] ) . "
WHERE user_id = $user_id";
if ( !$db->sql_query($sql) )
{
$this->notify_admin('Could not update user quiz points', __LINE__, __FILE__, $sql);
return false;
}
Also ich schiebe wirklich nichts auf deinen Hack! Finde ihn klasse, sonst hätte ich ihn nicht eingebaut.
UND ICH FREU MICH AUCH SCHON, WIE VIELE ANDERE AUF DAS UPDATE!
Die Datei hab ich wirklich geändert und zwar anhand dieser Anleitung hier:
http://www.phpbb.de/viewtopic.php?p=109 ... uiz#109339 ...die ist doch von dir, oder?
Die Punkte wurden ja auch addiert, so wie es sein sollte... War da sonst noch was falsch?
Ich brauch das so, weil ich auf meinem Board ein monatliches Gewinnspiel laufen habe. Wer die meisten Punkte aus geschriebenen Beiträgen und Quizfragen gesammelt hat, gewinnt am Ende des Monats. Es hat die Attraktivität des Forums auf alle Fälle merklich erhöht und die Idee kann nur weiterempfohlen werden.

Die Datei hab ich wirklich geändert und zwar anhand dieser Anleitung hier:
http://www.phpbb.de/viewtopic.php?p=109 ... uiz#109339 ...die ist doch von dir, oder?

Die Punkte wurden ja auch addiert, so wie es sein sollte... War da sonst noch was falsch?
Ich brauch das so, weil ich auf meinem Board ein monatliches Gewinnspiel laufen habe. Wer die meisten Punkte aus geschriebenen Beiträgen und Quizfragen gesammelt hat, gewinnt am Ende des Monats. Es hat die Attraktivität des Forums auf alle Fälle merklich erhöht und die Idee kann nur weiterempfohlen werden.
dann solltest du auch genau suchen.... schließlich hat du nich folgendes: sondern folgendes: geändert....
im klartext musst du jetzt folgendes machen:
suche:ersetzen durch
durch deinen fehler haben alle user die so eine fehlerhafte quizfrage beantwortet haben die doppelte punktzahl bei den quizpunkten bekommen...
ah
Code: Alles auswählen
$sql = "UPDATE " . USERS_TABLE . "
SET quiz_points = quiz_points + " . ( $this->config['quiz_points_disable'] ? 1 : $this->quiz_data['quiz_points'] ) . "
WHERE user_id = $user_id";
Code: Alles auswählen
$sql = "UPDATE " . TOPICS_TABLE . "
SET topic_quiz = 2
WHERE topic_id = '$topic_id'";
im klartext musst du jetzt folgendes machen:
suche:
Code: Alles auswählen
$points = $this->config['quiz_points_disable'] ? 1 : $this->quiz_data['quiz_points'];
$sql = "UPDATE " . USERS_TABLE . "
SET quiz_points = quiz_points + $points, user_points = user_points + $points
WHERE user_id = $userid";
if ( !$db->sql_query($sql) )
{
$this->notify_admin("Could not update topic quiz status", __LINE__, __FILE__, $sql);
return false;
}
$sql = "UPDATE " . USERS_TABLE . "
SET quiz_points = quiz_points + " . ( $this->config['quiz_points_disable'] ? 1 : $this->quiz_data['quiz_points'] ) . "
WHERE user_id = $userid";
if ( !$db->sql_query($sql) )
{
$this->notify_admin("Could not update user quiz points", __LINE__, __FILE__, $sql);
return false;
}
Code: Alles auswählen
$sql = "UPDATE " . TOPICS_TABLE . "
SET topic_quiz = 2
WHERE topic_id = '$topic_id'";
if ( !$db->sql_query($sql) )
{
$this->notify_admin('Could not update topic quiz status', __LINE__, __FILE__, $sql);
return false;
}
$points = $this->config['quiz_points_disable'] ? 1 : $this->quiz_data['quiz_points'];
$sql = "UPDATE " . USERS_TABLE . "
SET quiz_points = quiz_points + $points, user_points = user_points + $points
WHERE user_id = $user_id";
if ( !$db->sql_query($sql) )
{
$this->notify_admin('Could not update user quiz points', __LINE__, __FILE__, $sql);
return false;
}
ah
Sag das ja nicht weiter! Dann hab ich den Wettbewerb ja total geschobendurch deinen fehler haben alle user die so eine fehlerhafte quizfrage beantwortet haben die doppelte punktzahl bei den quizpunkten bekommen...

Ok, hab die Änderungen eingebaut und ein Problem ist damit behoben.
Das Quiz wird jetzt wieder korrekt beendet, aber die Punkte werden leider nicht mehr addiert. Folgende Fehlermeldung:
Hab die phpbb_users noch mal überprüft. Die Tabellen quiz_points und user_points sind vorhanden.Could not update user quiz points
SQL Error : 1064 You have an error in your SQL syntax near '' at line 3
UPDATE phpbb_users
SET quiz_points = quiz_points + 5, user_points = user_points + 5
WHERE user_id =
Line : 411
File : /usr/local/httpd/htdocs/1755/1759/board/includes/quiz.php
@ saerdnaer
Kannst Du mir bitte noch mal helfen wegen dem Update der Punkte? Das gleiche Problem ist weiter oben schon mal aufgetaucht und wurde dort leider auch noch nicht gelöst.
siehe: http://www.phpbb.de/viewtopic.php?p=133 ... nts#133319
deine Antwort: http://www.phpbb.de/viewtopic.php?p=133 ... ern#133904
Der Rest funktioniert wieder...Danke im Vorraus!
Kannst Du mir bitte noch mal helfen wegen dem Update der Punkte? Das gleiche Problem ist weiter oben schon mal aufgetaucht und wurde dort leider auch noch nicht gelöst.
siehe: http://www.phpbb.de/viewtopic.php?p=133 ... nts#133319
deine Antwort: http://www.phpbb.de/viewtopic.php?p=133 ... ern#133904
Der Rest funktioniert wieder...Danke im Vorraus!
ähm ja... das lag an mir... ich hab dir einen zu aktuellen code gepostet...
suche:
und darin das $user_id durch $userid ersetzen...
suche:
Code: Alles auswählen
$sql = "UPDATE " . USERS_TABLE . "
SET quiz_points = quiz_points + $points, user_points = user_points + $points
WHERE user_id = $user_id";