Deine phpBB Version: 2.0.
Typ Deines phpBB Forums: Standard phpBB (auch Vanilla genannt)
MODs: Ja
Dein Wissensstand: Einsteiger
Link zu Deinem Forum: http://www.bundestach.de
PHP Version: 2.0 (aber hatten wir die Frage nicht oben schon mal?)
MySQL Version: 4, glaub ich
Was hast Du gemacht, bevor das Problem aufgetreten ist?
Das Problem bestand von Beginn an, weil ich ja ein ZUSÄTZLICHES Feature SUCHE, welches man erst noch reinhacken müsste...
Was hast Du bereits versucht um das Problem zu lösen?
Laaange gegoggelt, und noch länger versucht, im Quellcode die Reload-Sperre zu klonen... Dafür bin ich aber offensichtlich noch nicht weit genug... (und ich kann mir gerade nicht zeitlich erlauben, mir dafür noch mehr Nächte um die Ohren zu schlagen, leider!)
Der folgende Link zum Forum, naja: Es ist alles noch eine wilde Baustelle, bin halt Anfänger
Fehlerbeschreibung und Nachricht
Okay, worum geht's:
Ich habe mit dem Blank Page Mod eine neue Seite innerhalb meines Forum eingerichtet, die derzeit provisorisch bestückt ist und auf http://bt2005.bt.funpic.de/phpbb2/wahl.php zu finden ist.
Es geht darum, dass ich dort nach Belieben ein Formular erstellen möchte, (nicht nur so ein blödes Voting, wie man's dort sieht), dessen Resultate ich mir dann über "Formmailer", wo ich registriert bin, in meine Mailbox schicken lassen möchte.
Das geht bisher auch schon ganz toll, aber das WICHTIGSTE funktioniert noch nicht:
Jeder User (=Account) soll dieses Formular nur einmal abschicken dürfen!!! Es geht mir dabei nicht um eine IP-Sperre - wenn das ZUSÄTZLICH machbar ist, wäre das auch okay - aber ich will auf keinen Fall, dass z.B. ein User, der Cookies aus hat, sich einfach neu ins Netz einwählt, um eine neue IP zu beziehen! Da wäre es mir schon lieber, wenn er mehrere Accounts zum voten benutzt!
Durch die entsprechenden SQL-Tabellen - bzw. wie deren Werte innerhalb viewtopic.php weitergereicht und verarbeitet werden, steig ich nicht mehr durch. Die Funktion, die man von einfach Forum-Umfragen kennt, dass also die Umfrage für User, die bereits gevotet haben - schlichtweg nicht mehr zur Verfügung steht und dafür eine alternative Seite/Box angezeigt wird, die ist ja schon ganz klasse!
Kann man die nicht irgendwie um mein HTML-Formular auf der Zusatz-Seite drumherumbauen?
Das wär sooooo schön!
Thomas
Brauche die Vote-Reloadsperre für Formular auf weiterer Page
Forumsregeln
Auch wenn hier der Support für phpBB 2 weiterhin aufrecht erhalten bleibt, weisen wir darauf hin, dass das phpBB 2 nicht mehr offiziell unterstützt und weiterentwickelt wird!
Auch wenn hier der Support für phpBB 2 weiterhin aufrecht erhalten bleibt, weisen wir darauf hin, dass das phpBB 2 nicht mehr offiziell unterstützt und weiterentwickelt wird!
- oxpus
- Administrator
- Beiträge: 28735
- Registriert: Mo 27.Jan, 2003 22:13
- Wohnort: Bad Wildungen
- Kontaktdaten:
Wenn die "normale" Umfragen-Option des phpBB verwendet wird, dann kann ein User nur einmal abstimmen.
Wenn Du eine eigene Kreation verwendest, warum dann nicht die User-ID mit dem Abstimmergebnis abspeichern und beim Absenden des Ergebnisses (das erste oder folgende) erst dieses Abfragen und entsprechend reagieren (Fehlermeldung oder Ergebnis eintragen)?
So macht das das phpBB auch...
Wenn Du eine eigene Kreation verwendest, warum dann nicht die User-ID mit dem Abstimmergebnis abspeichern und beim Absenden des Ergebnisses (das erste oder folgende) erst dieses Abfragen und entsprechend reagieren (Fehlermeldung oder Ergebnis eintragen)?
So macht das das phpBB auch...
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Hallo oxpus,
danke für Deine Antwort. Dein Vroschlag, die User-ID zu verwenden und dann abzugleichen stellt mich als Anfänger jedoch vor ein paar Klippen, die mir (noch) zu hoch sind.
Zunächst müsste ich wissen, wie die Variable mit der User-ID heißt, wenn ich auf der entsprechenden Seite bin. Dann muss ich auch noch wissen, WO die IDs abgespeichert werden von den Usern, die bisher abgestimmt haben: Ich habe inzwischen zwar eine Tabelle in der SQL-Datenbank gefunden, wo die IDs von normalen Votings angezigt werden, aber ich habe keine Ahnung, wie ich damit arbeiten sollte...
Wenn es - für Fortgeschrittene - ein relativ trivialer Schritt ist, kannst Du mir dann vielleicht ein paar kurze Code-Schnipsel geben, wie und wo ich prinzipiell etwas einzufügen habe. Ich habe bzgl. dieses Problems einfach die Übersicht verloren...
Grüße,
Thomas
danke für Deine Antwort. Dein Vroschlag, die User-ID zu verwenden und dann abzugleichen stellt mich als Anfänger jedoch vor ein paar Klippen, die mir (noch) zu hoch sind.
Zunächst müsste ich wissen, wie die Variable mit der User-ID heißt, wenn ich auf der entsprechenden Seite bin. Dann muss ich auch noch wissen, WO die IDs abgespeichert werden von den Usern, die bisher abgestimmt haben: Ich habe inzwischen zwar eine Tabelle in der SQL-Datenbank gefunden, wo die IDs von normalen Votings angezigt werden, aber ich habe keine Ahnung, wie ich damit arbeiten sollte...
Wenn es - für Fortgeschrittene - ein relativ trivialer Schritt ist, kannst Du mir dann vielleicht ein paar kurze Code-Schnipsel geben, wie und wo ich prinzipiell etwas einzufügen habe. Ich habe bzgl. dieses Problems einfach die Übersicht verloren...
Grüße,
Thomas
- oxpus
- Administrator
- Beiträge: 28735
- Registriert: Mo 27.Jan, 2003 22:13
- Wohnort: Bad Wildungen
- Kontaktdaten:
Das ist die Frage, was Du da basteln willst. Verwendest Du denn nicht die Original phpBB-Umfrage-Möglichkeit?
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
[quote="oxpus - Fr 22.Jul, 2005 17:42";p="39348"]Das ist die Frage, was Du da basteln willst. Verwendest Du denn nicht die Original phpBB-Umfrage-Möglichkeit?[/quote]
Bisher nicht... Die enthält doch nur eine Voting-Funktion, wo man eine von mehreren Optionen auswählen kann... Ich hingegen möchte die User ein komplettes Formular ausfüllen lassen, mit Textfelder, Checkboxen etc etc... Und dieses sollen sie nur einmal abschicken dürfen.
Thomas
Bisher nicht... Die enthält doch nur eine Voting-Funktion, wo man eine von mehreren Optionen auswählen kann... Ich hingegen möchte die User ein komplettes Formular ausfüllen lassen, mit Textfelder, Checkboxen etc etc... Und dieses sollen sie nur einmal abschicken dürfen.
Thomas
- oxpus
- Administrator
- Beiträge: 28735
- Registriert: Mo 27.Jan, 2003 22:13
- Wohnort: Bad Wildungen
- Kontaktdaten:
Dann speichere doch mit der Abstimmung die User-ID aus $userdata['user_id'] in ein weiteres Feld zu den Umfragedaten.
Dann kannst Du, bevor der User das Formular zum erneuten Abstimmen aufruft, erst diese ID abfragen, mit $userdata['user_id'] vergleichen und wenn diese bereits vorhanden ist, dem User das Formular verwehren.
Die Abfrage für die User-ID könnte so aussehen:
Dann kannst Du, bevor der User das Formular zum erneuten Abstimmen aufruft, erst diese ID abfragen, mit $userdata['user_id'] vergleichen und wenn diese bereits vorhanden ist, dem User das Formular verwehren.
Die Abfrage für die User-ID könnte so aussehen:
Code: Alles auswählen
$sql = "SELECT user_id FROM " . UMFRAGE_TABLE . "
WHERE user_id = " . $userdata['user_id'];
if (!$result = $db->sql_query($sql))
{
message_die(GENERAL_ERROR, 'Could not check existing votes', '', __LINE__, __FILE__, $sql);
}
$already_voted = $db->sql_numrows($result);
$db->sql_freeresult($result);
if ($already_voted == 0)
{
// Hier der Code rein, der das Formular aufruft oder es darstellt
}
else
{
$message = $lang['Already_voted'];
message_die(GENERAL_MESSAGE, $message);
}Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!