Voting funktioniert nicht
Moderator: Thorsten
Voting funktioniert nicht
Wenn ich ein Voting mache, wird immer nur das erste Octet der IP (172)Adresse eingetragen. Dadurch kann kein anderer PC im selben Netzwerk einen Votingeintrag machen.
Das passiert beim ersten Vote:
DEBUG INFORMATION:
SELECT sid FROM edvfaqsessions WHERE sid = 9 AND ip = '172.16.3.7' AND time > 1124805767
SELECT id, lang, parent_id, name, description FROM edvfaqcategories WHERE lang = 'de' ORDER BY id
SELECT count(sid) FROM edvfaqsessions WHERE time > 1124891867 GROUP BY ip
SELECT DISTINCT edvfaqdata.id, edvfaqdata.lang, edvfaqdata.thema, edvfaqcategoryrelations.category_id, edvfaqvisits.visits FROM edvfaqvisits, edvfaqdata LEFT JOIN edvfaqcategoryrelations ON edvfaqdata.id = edvfaqcategoryrelations.record_id AND edvfaqdata.lang = edvfaqcategoryrelations.record_lang WHERE edvfaqdata.lang = 'de' AND edvfaqdata.id = edvfaqvisits.id AND edvfaqdata.lang = edvfaqvisits.lang AND edvfaqdata.active = 'yes' ORDER BY edvfaqvisits.visits DESC
SELECT DISTINCT edvfaqdata.id, edvfaqdata.lang, edvfaqcategoryrelations.category_id, edvfaqdata.thema, edvfaqdata.datum, edvfaqvisits.visits FROM edvfaqvisits, edvfaqdata LEFT JOIN edvfaqcategoryrelations ON edvfaqdata.id = edvfaqcategoryrelations.record_id AND edvfaqdata.lang = edvfaqcategoryrelations.record_lang WHERE edvfaqdata.lang = 'de' AND edvfaqdata.id = edvfaqvisits.id AND edvfaqdata.lang = edvfaqvisits.lang AND edvfaqdata.active = 'yes' ORDER BY edvfaqdata.datum DESC
SELECT id FROM edvfaqvoting WHERE artikel = 11 AND (ip = '172' AND datum > 1124891867)
SELECT usr FROM edvfaqvoting WHERE artikel = 11
UPDATE edvfaqvoting SET vote = vote + 2, usr = usr + 1, datum = 1124892167, ip = '172' where artikel = 11
Und das beim nächsten Versuch:
DEBUG INFORMATION:
SELECT sid FROM edvfaqsessions WHERE sid = 7 AND ip = '172.16.3.24' AND time > 1124805828
SELECT id, lang, parent_id, name, description FROM edvfaqcategories WHERE lang = 'de' ORDER BY id
SELECT count(sid) FROM edvfaqsessions WHERE time > 1124891928 GROUP BY ip
SELECT DISTINCT edvfaqdata.id, edvfaqdata.lang, edvfaqdata.thema, edvfaqcategoryrelations.category_id, edvfaqvisits.visits FROM edvfaqvisits, edvfaqdata LEFT JOIN edvfaqcategoryrelations ON edvfaqdata.id = edvfaqcategoryrelations.record_id AND edvfaqdata.lang = edvfaqcategoryrelations.record_lang WHERE edvfaqdata.lang = 'de' AND edvfaqdata.id = edvfaqvisits.id AND edvfaqdata.lang = edvfaqvisits.lang AND edvfaqdata.active = 'yes' ORDER BY edvfaqvisits.visits DESC
SELECT DISTINCT edvfaqdata.id, edvfaqdata.lang, edvfaqcategoryrelations.category_id, edvfaqdata.thema, edvfaqdata.datum, edvfaqvisits.visits FROM edvfaqvisits, edvfaqdata LEFT JOIN edvfaqcategoryrelations ON edvfaqdata.id = edvfaqcategoryrelations.record_id AND edvfaqdata.lang = edvfaqcategoryrelations.record_lang WHERE edvfaqdata.lang = 'de' AND edvfaqdata.id = edvfaqvisits.id AND edvfaqdata.lang = edvfaqvisits.lang AND edvfaqdata.active = 'yes' ORDER BY edvfaqdata.datum DESC
SELECT id FROM edvfaqvoting WHERE artikel = 11 AND (ip = '172' AND datum > 1124891928)
SELECT id FROM edvfaqvoting WHERE artikel = 11 AND (ip = '172' AND datum > 1124891928)
Das Netzwerk ist ein Class B mit 172.16.0.0 die Version ist 1.5.0.
Kennt jemand die Lösung?
Danke
Das passiert beim ersten Vote:
DEBUG INFORMATION:
SELECT sid FROM edvfaqsessions WHERE sid = 9 AND ip = '172.16.3.7' AND time > 1124805767
SELECT id, lang, parent_id, name, description FROM edvfaqcategories WHERE lang = 'de' ORDER BY id
SELECT count(sid) FROM edvfaqsessions WHERE time > 1124891867 GROUP BY ip
SELECT DISTINCT edvfaqdata.id, edvfaqdata.lang, edvfaqdata.thema, edvfaqcategoryrelations.category_id, edvfaqvisits.visits FROM edvfaqvisits, edvfaqdata LEFT JOIN edvfaqcategoryrelations ON edvfaqdata.id = edvfaqcategoryrelations.record_id AND edvfaqdata.lang = edvfaqcategoryrelations.record_lang WHERE edvfaqdata.lang = 'de' AND edvfaqdata.id = edvfaqvisits.id AND edvfaqdata.lang = edvfaqvisits.lang AND edvfaqdata.active = 'yes' ORDER BY edvfaqvisits.visits DESC
SELECT DISTINCT edvfaqdata.id, edvfaqdata.lang, edvfaqcategoryrelations.category_id, edvfaqdata.thema, edvfaqdata.datum, edvfaqvisits.visits FROM edvfaqvisits, edvfaqdata LEFT JOIN edvfaqcategoryrelations ON edvfaqdata.id = edvfaqcategoryrelations.record_id AND edvfaqdata.lang = edvfaqcategoryrelations.record_lang WHERE edvfaqdata.lang = 'de' AND edvfaqdata.id = edvfaqvisits.id AND edvfaqdata.lang = edvfaqvisits.lang AND edvfaqdata.active = 'yes' ORDER BY edvfaqdata.datum DESC
SELECT id FROM edvfaqvoting WHERE artikel = 11 AND (ip = '172' AND datum > 1124891867)
SELECT usr FROM edvfaqvoting WHERE artikel = 11
UPDATE edvfaqvoting SET vote = vote + 2, usr = usr + 1, datum = 1124892167, ip = '172' where artikel = 11
Und das beim nächsten Versuch:
DEBUG INFORMATION:
SELECT sid FROM edvfaqsessions WHERE sid = 7 AND ip = '172.16.3.24' AND time > 1124805828
SELECT id, lang, parent_id, name, description FROM edvfaqcategories WHERE lang = 'de' ORDER BY id
SELECT count(sid) FROM edvfaqsessions WHERE time > 1124891928 GROUP BY ip
SELECT DISTINCT edvfaqdata.id, edvfaqdata.lang, edvfaqdata.thema, edvfaqcategoryrelations.category_id, edvfaqvisits.visits FROM edvfaqvisits, edvfaqdata LEFT JOIN edvfaqcategoryrelations ON edvfaqdata.id = edvfaqcategoryrelations.record_id AND edvfaqdata.lang = edvfaqcategoryrelations.record_lang WHERE edvfaqdata.lang = 'de' AND edvfaqdata.id = edvfaqvisits.id AND edvfaqdata.lang = edvfaqvisits.lang AND edvfaqdata.active = 'yes' ORDER BY edvfaqvisits.visits DESC
SELECT DISTINCT edvfaqdata.id, edvfaqdata.lang, edvfaqcategoryrelations.category_id, edvfaqdata.thema, edvfaqdata.datum, edvfaqvisits.visits FROM edvfaqvisits, edvfaqdata LEFT JOIN edvfaqcategoryrelations ON edvfaqdata.id = edvfaqcategoryrelations.record_id AND edvfaqdata.lang = edvfaqcategoryrelations.record_lang WHERE edvfaqdata.lang = 'de' AND edvfaqdata.id = edvfaqvisits.id AND edvfaqdata.lang = edvfaqvisits.lang AND edvfaqdata.active = 'yes' ORDER BY edvfaqdata.datum DESC
SELECT id FROM edvfaqvoting WHERE artikel = 11 AND (ip = '172' AND datum > 1124891928)
SELECT id FROM edvfaqvoting WHERE artikel = 11 AND (ip = '172' AND datum > 1124891928)
Das Netzwerk ist ein Class B mit 172.16.0.0 die Version ist 1.5.0.
Kennt jemand die Lösung?
Danke
Karl-Heinz J.
Hi,
das ist ein Bug in der 1.5.0.
Du kannst ihn per Hand fixen, in dem du die Zeile 24 in der savevoting.php in das folgende änderst:
oder du wartest auf die 1.5.1.
bye
Thorsten
das ist ein Bug in der 1.5.0.

Du kannst ihn per Hand fixen, in dem du die Zeile 24 in der savevoting.php in das folgende änderst:
Code: Select all
$userip = (isset($_POST["userip"])) ? safeSQL($_POST["userip"]) : '';
bye
Thorsten
phpMyFAQ Maintainer and Lead Developer
amazon.de Wishlist
amazon.de Wishlist
Hi,
der Fehler, der in der 1.5.0 enthalten ist, wandelt leider alle IPs in Integer, also Ganzzahlen um...
Der Fix oben korrigiert das.
bye
Thorsten
der Fehler, der in der 1.5.0 enthalten ist, wandelt leider alle IPs in Integer, also Ganzzahlen um...

Der Fix oben korrigiert das.
bye
Thorsten
phpMyFAQ Maintainer and Lead Developer
amazon.de Wishlist
amazon.de Wishlist
einen Schritt weiter
Das erste Voting geht jetzt mit der richtigen IP (172.16.3.7). Wenn der 2. PC einen Eintrag machen will, versucht er ein Update des Records. Sollte nicht jede IP eine eigene Zeile wegen dem IP-Tracking in die DB eintragen?
DEBUG INFORMATION:
SELECT sid FROM edvfaqsessions WHERE sid = 10 AND ip = '172.16.3.24' AND time > 1124809468
SELECT id, lang, parent_id, name, description FROM edvfaqcategories WHERE lang = 'de' ORDER BY id
SELECT count(sid) FROM edvfaqsessions WHERE time > 1124895568 GROUP BY ip
SELECT DISTINCT edvfaqdata.id, edvfaqdata.lang, edvfaqdata.thema, edvfaqcategoryrelations.category_id, edvfaqvisits.visits FROM edvfaqvisits, edvfaqdata LEFT JOIN edvfaqcategoryrelations ON edvfaqdata.id = edvfaqcategoryrelations.record_id AND edvfaqdata.lang = edvfaqcategoryrelations.record_lang WHERE edvfaqdata.lang = 'de' AND edvfaqdata.id = edvfaqvisits.id AND edvfaqdata.lang = edvfaqvisits.lang AND edvfaqdata.active = 'yes' ORDER BY edvfaqvisits.visits DESC
SELECT DISTINCT edvfaqdata.id, edvfaqdata.lang, edvfaqcategoryrelations.category_id, edvfaqdata.thema, edvfaqdata.datum, edvfaqvisits.visits FROM edvfaqvisits, edvfaqdata LEFT JOIN edvfaqcategoryrelations ON edvfaqdata.id = edvfaqcategoryrelations.record_id AND edvfaqdata.lang = edvfaqcategoryrelations.record_lang WHERE edvfaqdata.lang = 'de' AND edvfaqdata.id = edvfaqvisits.id AND edvfaqdata.lang = edvfaqvisits.lang AND edvfaqdata.active = 'yes' ORDER BY edvfaqdata.datum DESC
SELECT id FROM edvfaqvoting WHERE artikel = 11 AND (ip = '172.16.3.24' AND datum > 1124895568)
SELECT usr FROM edvfaqvoting WHERE artikel = 11
UPDATE edvfaqvoting SET vote = vote + 4, usr = user + 1, datum = 1124895868, ip = '172.16.3.24' where artikel = 11
DEBUG INFORMATION:
SELECT sid FROM edvfaqsessions WHERE sid = 10 AND ip = '172.16.3.24' AND time > 1124809468
SELECT id, lang, parent_id, name, description FROM edvfaqcategories WHERE lang = 'de' ORDER BY id
SELECT count(sid) FROM edvfaqsessions WHERE time > 1124895568 GROUP BY ip
SELECT DISTINCT edvfaqdata.id, edvfaqdata.lang, edvfaqdata.thema, edvfaqcategoryrelations.category_id, edvfaqvisits.visits FROM edvfaqvisits, edvfaqdata LEFT JOIN edvfaqcategoryrelations ON edvfaqdata.id = edvfaqcategoryrelations.record_id AND edvfaqdata.lang = edvfaqcategoryrelations.record_lang WHERE edvfaqdata.lang = 'de' AND edvfaqdata.id = edvfaqvisits.id AND edvfaqdata.lang = edvfaqvisits.lang AND edvfaqdata.active = 'yes' ORDER BY edvfaqvisits.visits DESC
SELECT DISTINCT edvfaqdata.id, edvfaqdata.lang, edvfaqcategoryrelations.category_id, edvfaqdata.thema, edvfaqdata.datum, edvfaqvisits.visits FROM edvfaqvisits, edvfaqdata LEFT JOIN edvfaqcategoryrelations ON edvfaqdata.id = edvfaqcategoryrelations.record_id AND edvfaqdata.lang = edvfaqcategoryrelations.record_lang WHERE edvfaqdata.lang = 'de' AND edvfaqdata.id = edvfaqvisits.id AND edvfaqdata.lang = edvfaqvisits.lang AND edvfaqdata.active = 'yes' ORDER BY edvfaqdata.datum DESC
SELECT id FROM edvfaqvoting WHERE artikel = 11 AND (ip = '172.16.3.24' AND datum > 1124895568)
SELECT usr FROM edvfaqvoting WHERE artikel = 11
UPDATE edvfaqvoting SET vote = vote + 4, usr = user + 1, datum = 1124895868, ip = '172.16.3.24' where artikel = 11
Karl-Heinz J.
Re: einen Schritt weiter
Hi,
bye
Thorsten
das ist so korrekt. Jede IP wird aus Datenschutzgründen (meinen eigenen) nicht geloggt, sondern immer nur die letzte.kh.janich wrote:Wenn der 2. PC einen Eintrag machen will, versucht er ein Update des Records. Sollte nicht jede IP eine eigene Zeile wegen dem IP-Tracking in die DB eintragen?
bye
Thorsten
phpMyFAQ Maintainer and Lead Developer
amazon.de Wishlist
amazon.de Wishlist
Not quite there
I've applied the bug fix that makes sure the entire IP gets entered on my phpMyFAQ v. 1.5.0 installation. However, I think there might be other problems now:
Could you try and look into this?
Thanks a lot!
- wolf -
(I apologize for not writing in German; unfortunately my German skills are limited to reading the language. If you prefer to keep this thread in German, please don't feel compelled to switch to English!)
- When a FAQ entry with multiple votes is viewed, the vote summary doesn't seem to average the votes, and it reports that only one vote has been entered.
- Also, it looks like if an entry has received a vote, additional votes (from other IPs, that is) are no longer registered for that FAQ entry.
Could you try and look into this?
Thanks a lot!
- wolf -
(I apologize for not writing in German; unfortunately my German skills are limited to reading the language. If you prefer to keep this thread in German, please don't feel compelled to switch to English!)
Der Update Befehl ging leider nicht:
UPDATE edvfaqvoting SET vote = vote + 1, usr = user + 1, datum = 1124951773, ip = '172.16.3.7' where artikel = 11
Sollte da nicht usr=usr+1 stehen? Das habe ich in der savevoting.php eingebaut. Wenn ich das mache läuft das Update.
Aber, wie wird sichergestellt, daß ein Benutzer nicht mehrmals voten kann? Bei mir ist das nicht so wichtig, aber vielleicht fürt andere. Jedenfalls kann ich vom selben PC mehrmals voten.
Übrigens gefällt mir die Software sehr gut, übersichtlich gehalten und für normale User einfach zu bedienen !
UPDATE edvfaqvoting SET vote = vote + 1, usr = user + 1, datum = 1124951773, ip = '172.16.3.7' where artikel = 11
Sollte da nicht usr=usr+1 stehen? Das habe ich in der savevoting.php eingebaut. Wenn ich das mache läuft das Update.
Aber, wie wird sichergestellt, daß ein Benutzer nicht mehrmals voten kann? Bei mir ist das nicht so wichtig, aber vielleicht fürt andere. Jedenfalls kann ich vom selben PC mehrmals voten.
Übrigens gefällt mir die Software sehr gut, übersichtlich gehalten und für normale User einfach zu bedienen !
Karl-Heinz J.
Hi,
I'll check the whole voting functions for the next release 1.5.1.
bye
Thorsten
I'll check the whole voting functions for the next release 1.5.1.
bye
Thorsten
phpMyFAQ Maintainer and Lead Developer
amazon.de Wishlist
amazon.de Wishlist
Da habe ich noch einen Hinweis. Die Auswertung stimmt auch nicht. Ich bekomme für folgende Datensätze 525% und 100%:
id lang active category_id thema num count(*)
11 de yes 17 Monitor Austausch, wann gibt es einen TFT Monitor? 22.0000 1
2 de yes 26 Outlook hängt sich auf dem Termserv immer auf 5.0000 1
Der Count ist immer 1. Sollte das nicht die Anzahl der Votings pro Artikel sein?
Danke
id lang active category_id thema num count(*)
11 de yes 17 Monitor Austausch, wann gibt es einen TFT Monitor? 22.0000 1
2 de yes 26 Outlook hängt sich auf dem Termserv immer auf 5.0000 1
Der Count ist immer 1. Sollte das nicht die Anzahl der Votings pro Artikel sein?
Danke
Karl-Heinz J.
Hi,
das mit der Auswertung hab ich gestern auch festgestellt und ich arbeite an einem Fix. Danke für dein intensives Testen.
bye
Thorsten
das mit der Auswertung hab ich gestern auch festgestellt und ich arbeite an einem Fix. Danke für dein intensives Testen.
bye
Thorsten
phpMyFAQ Maintainer and Lead Developer
amazon.de Wishlist
amazon.de Wishlist
Hi,
I fixed these errors in 1.5.1 and 1.6.0-dev.
bye
Thorsten
I fixed these errors in 1.5.1 and 1.6.0-dev.
bye
Thorsten
phpMyFAQ Maintainer and Lead Developer
amazon.de Wishlist
amazon.de Wishlist