anpera.net https://anpera.homeip.net/phpbb3/ |
|
Wahlen ala Umfrage? https://anpera.homeip.net/phpbb3/viewtopic.php?f=25&t=3766 |
Seite 1 von 1 |
Autor: | newbi [ So 01 Jul, 2007 08:13 ] |
Betreff des Beitrags: | Wahlen ala Umfrage? |
Und wieder das newbi^^, Bei mir kann man sich zum Fürsten/Bürgermeisteramt bewerben. Der der sich beworben hat wird für Admins sichtbar in einer tabelle angezeigt und dort kann ich nach beendigung der Wahl, den gewinner auch "krönen" Bis jetzt hatte ich das Script von Horus, aber das reicht mir nicht mehr, weil ich die Bewerber dort per hand eintragen muss. Ich möchte das jetzt so machen, das die user die Bewerber im wahlzimmer in einer tabelle sehen. Soweit ja noch einfach, ich lass einfach die anzeigen, die in der accounts auf meister gesetzt wurden ( Status für bewerber=meister1) dann bin ich auch wieder am ende mit meinem Latein. Ich möchte jetzt, das man von dieser Tabelle aus, für den jeweiligen User abstimmen kann, wie bei der Umfrage in der Motd. Leider hab ich keine Ahnung wie ich das anstellen muss. Kann mir da jemand weiterhelfen? danke newbi |
Autor: | -DoM [ So 01 Jul, 2007 09:11 ] |
Betreff des Beitrags: | |
Schau dir doch das in der motd.php an. Wobei ich dir aber raten würde noch einige Sicherungsmassnahmen zuergreifen. Auch gibt es im Netz einen Haufen von Poll-Scripts. Nutze mal Google. Dort kannst du dir ja die Funktionsweise ebenfalls anschauen. |
Autor: | newbi [ So 01 Jul, 2007 11:15 ] |
Betreff des Beitrags: | |
Hi DOM, ja da hab ich die tage schon geschaut, ich muss den Link zum Wählen doch dann so machen oder? output("<a href='wahlen.php?op=vote&char='.$_GET['char']); ' method='vote'></a>",true); oder? also wie letztens in der Bio den char zuholen, oder muss ich das wieder anders machen? |
Autor: | -DoM [ So 01 Jul, 2007 12:54 ] |
Betreff des Beitrags: | |
Neeee So ganz bestimmt nicht. Zum ersten gibt es keine Methode die sich "vote" nennt. Zum anderen habe ich den Eindruck du hast nicht verstanden, was das $_GET['char'] in deiner bio.php gemacht hat. Ich werde es dir aber mal erlären am Beispiel der bio.php: Wenn du eine Biografie eines Spieler dir anschauen möchtest, klickst du für gewöhnlich auf den Namen des Spielers udn kommst zur bio.php dir die Informtionen aufbereitet und ansehnlich darstellt, mit den Daten aus der Datenbank. So aber woher weiss, das Script welchen der tausenden Spieler es wählen soll? Dies wird in dem Link zur bio.php bereits definiert. Vereinfacht ungefähr so: $this->bbcode_second_pass_code('', '<a href='bio.php?char=Spieler1'>Spieler1</a>') Es wird also der Loginname mit übermittelt, welcher später in der bio.php mittels $_GET abgerufen wird. Erst dadurch weiss die SQL-Datenbank, nach welchen Kriterien sie suchen muss. Im Falle der bio.php nach dem Loginnamen (login) Ich hoffe das war nun halbwegs verständlich. In einer Abstimmung wäre dies aber überflüssig, da du ja nicht, für einen anderen Abstimmen möchtest, sondern nur für dich abstimmen darfst. Hier würde es mehr Sinn machen, in deiner wahl.php, nach der "$session['user']['acctid']" zu gehen, um zu bestimmen das der jenige bereits seine Stimme abgegeben hat, falls du das ganze in einer seperaten Datenbank verwirklichen solltest, was ich empfehle, damit du nicht die Accountstabelle voll Müllst. Generell bleibt die Frage, ob du überhaupt schon soweit bist, um solch ein Script zu verwirklichen. Ich würde einfach mal raten, das Script von Horus entsprechend zu analysieren und eventuell zu modifizieren. Ich denke das wird dich weiter bringen als dieser Versuch von dir. Du wirst so auch schneller und mehr lernen, wenn du dir Scripte anschaust und nach deinen Ideen veränderst. Denn nach und nach wirst du verstehen, wie was funktioniert. Wenn dir Befehle in einem Script unbekannt vorkommen lege ich dir die PHP-Referenz ans Herz (http://www.php.net/manual/de/). Dort gibst du einfach den Namen ins Suchfeld ein und du bekommst die Referenz und meistens auch einige Beispiele. |
Autor: | newbi [ So 01 Jul, 2007 13:33 ] |
Betreff des Beitrags: | |
Horus Script meinen bedürfnissen anpassen, wollte ich ja erst, aber Horus sagt das geht nicht^^, also muss ich versuchen das hinzubekommen was ich eigendlich noch nicht kann. Ne Tabelle dafür hab ich schon angelegt, wie pollresults, nur für die wahlen eben. werd mir das handbuch mal anschauen und hoffen, das ich da durchsteige^^ danke erstmal Newbi |
Autor: | newbi [ So 01 Jul, 2007 14:30 ] |
Betreff des Beitrags: | |
sry für Doppelpost ok, ich habs bis jetzt tatsächlich geschaft das Stimmen vergeben verden können (und die auch angezeigt werden.) allerdings bekommen alle Bewerber eine Stimme addnav("Wählen", "wahlen.php?op=vote&id=$row[acctid]"); $sql = "UPDATE accounts SET getvote=getvote + 1 "; ersteres der link zu dem op vote zweites das sql updateding. was muss ich an dem sql ding anhängen, das nur der angewählte die Stimme bekommt und nicht beide? |
Autor: | Naria [ So 01 Jul, 2007 14:59 ] |
Betreff des Beitrags: | |
[php] $sql = "UPDATE accounts SET getvote=getvote + 1 WHERE acctid='$_GET['id']'"; [/php] So müsste das aussehen. So bekommt nur der User die Stimme, dessen id über die URL weitergegeben wurde. |
Autor: | newbi [ So 01 Jul, 2007 15:21 ] |
Betreff des Beitrags: | |
hmm nein jetzt bekommt keiner mehr ne Stimme^^ wenigstens kann ich noch lachen. wenn ichs direkt über die bio machen würde ( also per nav und op) wärs auch nicht einfacher oder? |
Autor: | -DoM [ So 01 Jul, 2007 15:45 ] |
Betreff des Beitrags: | |
Dann wird keine acctid übergeben, wenn keiner eine Stimme bekommt. Problem bei dieser Methode ist allerdings, wenn der jenige gerade fleissig am klicken ist, überschreibt er selbst die Stimme des abstimmenden (Transferbug). |
Autor: | newbi [ So 01 Jul, 2007 15:53 ] |
Betreff des Beitrags: | |
habs jetzt erst mal in der Bio gelöst (bis ichs besser kann^^) [php]if ($_GET['op']=="vote") { $sql = "UPDATE accounts SET getvote=getvote + 1 WHERE login='$_GET[char]'"; db_query($sql); output("`^ `n`ndu hast $row[name] `^Deine Stimme gegeben"); } [/php] so bekommt nur der eine ne Stimme. jetzt muss ich nur noch wieder die ganzen Stimmen die alle durch meine Versuche bekommen haben wieder loswerden^^ |
Seite 1 von 1 | Alle Zeiten sind UTC + 1 Stunde |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |