Beiträge: 2.769
Themen: 28
Registriert seit: 18.03.2006
Könnte sich bitte jemand des Problems annehmen?
Garlant, du kannst dir das ganze
hierangucken. Was mir noch aufgefallen ist: Hinter jeder von irgendeinem User gewählten Antwortmöglichkeit ist ein Stern, obwohl das doch eigentlich nur bei der von einem selbst gewählten Antwortmöglichkeit sein sollte, oder? Ich glaube, der Fehler liegt irgendwo dadrin, dass falsch erkannt wird, wer schon abgestimmt hat.
Beiträge: 1.626
Themen: 41
Registriert seit: 24.01.2006
Hallo Mak,
Ich werde mich dem ganzen in den nächsten Tagen widmen.
Bis dahin bitte etwas Geduld.
Mfg Garlant
Ich gebe keinen Support per Messenger oder PN!
Beiträge: 2.769
Themen: 28
Registriert seit: 18.03.2006
Ich habe mir das ganze jetzt mal selbst etwas angeguckt, komme aber auf keinen grünen Zweig. Ich brauche mal Hilfe von jemandem, der PHP kann.
Ich bin mir ziemlich sicher, dass der Fehler darin liegt, dass nicht korrekt ausgelesen wird, wer schon abgestimmt hat und wer nicht. Dafür "verantwortlich" sind (wenn ich das richtig verstehe) diese Zeilen:
PHP-Code:
if($poll['closed'] == "yes" || ($expiretime < $now && $poll['timeout'] > 0))
{
$showresults = 1;
};
$query = mysql_query("SELECT * FROM ".TABLE_PREFIX."pollvotes WHERE pid='".$poll[pid]."'");
while($votecheck = mysql_fetch_array($query))
{
$alreadyvoted = 1;
$votedfor[$votecheck['voteoption']] = 1;
}
Da ich ein Laie bin, kann ich das nicht genau beurteilen, aber kann es sein, dass nirgendwo wirklich abgefragt wird, ob schon abgestimmt wurde? In der Tabelle steht zwar die BenutzID der Voter, aber woher nimmt das Script die? Aber woher weiß das Script die BenutzerID des abstimmenden Benutzers?
Beiträge: 1.626
Themen: 41
Registriert seit: 24.01.2006
Hallo mak,
Bitte mache einmal dies.
Suche:
PHP-Code:
$query = mysql_query("SELECT * FROM ".TABLE_PREFIX."pollvotes WHERE pid='".$poll[pid]."'");
while($votecheck = mysql_fetch_array($query))
{
$alreadyvoted = 1;
$votedfor[$votecheck['voteoption']] = 1;
}
Ersetze mit:
PHP-Code:
if($_COOKIE['pollvotes'][$poll['pid']])
{
$alreadyvoted = 1;
}
Sag mir bitte ob es nun funktioniert.
Mfg Garlant
Ich gebe keinen Support per Messenger oder PN!
Beiträge: 2.769
Themen: 28
Registriert seit: 18.03.2006
23.06.2006, 17:18
(Dieser Beitrag wurde zuletzt bearbeitet: 23.06.2006, 17:20 von Mak.)
Also:
Prinzipiell geht es jetzt, allerdings mit folgender Einschränkung: Wenn ich als Firefoxbenutzer abstimme, wird meie Stimme ganz normal gezählt. Gehe ich jetzt auf die Seite zurück, sehe ich nicht das Umfrageergebnis, sondern wieder die Auswahlmöglichkeiten.
Wenn ich dann versuche abzustimmen, bekomme ich allerdings die korrekte Fehlermeldung "Du hast bereits abgestimmt", das müsste man ändern.
Außerdem kann man mit dem Firefox zwei mal abstimmen. Ein mal wenn man eingeloggt ist und einmal wenn man sich wieder ausloggt, das ist aber erstmal zweitrangig.
Außerdem wäre es gut, wenn unter den Fragen noch ein Link zum Anzeigen der Umfragen ist, man aber auf der externen Seite bleibt. Geht das?
Aber schonmal danke, jetzt klappt es. Zwar nicht optimal, aber es geht.
Edit: Ich sehe grade: Wenn man sich im Firefox ausloggt und nochmal abstimmt, werden auf der externen Seite korrekt die Ergebnise angezeigt. Ich vermute, der Fehler tritt also nur bei eingeloggten Benutzern ab, die im Forum abgestimmt haben, bin aber nicht sicher, das ist alles etwas kompliziert...
Beiträge: 1.626
Themen: 41
Registriert seit: 24.01.2006
Mak schrieb:[...], bekomme ich allerdings die korrekte Fehlermeldung "Du hast bereits abgestimmt", das müsste man ändern.[...]
Hmm, ja ist sicherlich nice2have aber hoffentlich ersteinmal nicht überlebensnotwendig.
Mak schrieb:[...]Außerdem kann man mit dem Firefox zwei mal abstimmen. Ein mal wenn man eingeloggt ist und einmal wenn man sich wieder ausloggt, das ist aber erstmal zweitrangig.[...]
Das Umfragesystem ist für externe Umfragen einfach nicht ausgelegt. Daher ist es möglich auf eben diese beiden Varianten ab zu stimmen. Um das zu verhindern müsste der Cookie mitgeloggt werden. Was aber eben auch nicht vollkommen funktionieren kann, da auf deiner externen Website die uid nicht abgefragt werden kann.
Mak schrieb:[...]Außerdem wäre es gut, wenn unter den Fragen noch ein Link zum Anzeigen der Umfragen ist, man aber auf der externen Seite bleibt. Geht das?[...]
Das sollte ohne allzugroßen Aufwand machbar sein.
Allerdings mag ich mir dazu etwas Zeit nehmen.
Mak schrieb:Edit: Ich sehe grade: Wenn man sich im Firefox ausloggt und nochmal abstimmt, werden auf der externen Seite korrekt die Ergebnise angezeigt. Ich vermute, der Fehler tritt also nur bei eingeloggten Benutzern ab, die im Forum abgestimmt haben, bin aber nicht sicher, das ist alles etwas kompliziert...
Dazu kann ich dir jetzt leider nichts näheres sagen.
Mfg Garlant
Ich gebe keinen Support per Messenger oder PN!
Beiträge: 583
Themen: 95
Registriert seit: 15.02.2006
MyBB-Version: 1.4.4
12.04.2007, 13:13
(Dieser Beitrag wurde zuletzt bearbeitet: 13.04.2007, 12:45 von DaStaFlexX.)
Hi zusammen
Ich habe eben diesen
Beitrag erstellt !
sry. wusste ja nicht das es hier um was ähnliches dreht !
Da dies etwa das ist was ich suche,nochmals ein paar fargen.
Der letzte Beitrag von Garlant am 23.06.2006 ist ja schon was länger her,
Gibts da schon Neuigkeiten ?
Und wie muss ich jetzt das alles genau machen,
da ja nachträglich noch einiges am code verändert wurde ?
Die rede ist immer von "extern" !
Kann ich die Umfrage auch auf der startseite (sidebox) anzeigen lassen ?
wenn ja ! -> wie (per iframe) ?
Schade das es davon noch kein plugin gibt
bis gli...
greetz DaStaFlexX
Beiträge: 50
Themen: 9
Registriert seit: 14.06.2007
huhu
hab mir grad ma die 4 seiten durchgelesen - wie ist denn der status?
schon weiter gekommen? aufgegeben?
gruss
marcus
Beiträge: 1.626
Themen: 41
Registriert seit: 24.01.2006
Diese Modifikation ist so weit ich das in Erinnerung habe noch für Version 1.1.x und bisher nicht fortgesetzt worden.
Mfg Garlant
Ich gebe keinen Support per Messenger oder PN!
Beiträge: 50
Themen: 9
Registriert seit: 14.06.2007
besteht denn noch hoffnung das es weiterentwickelt wird?
oder muss man(n) wieder selbst hand anlegen *grins*