webForumDet fria alternativet

Röstningsfunktion

5 svar · 320 visningar · startad av Wiberg

WibergMedlem sedan juni 20003 169 inlägg
#1

Följande efterfrågas:

Besökaren väljer mellan 5 olika alternativ (radiobuttons) och klickar på en submit knapp. Beroende på vilken radiobutton som är markerad lägg 1 till i en speciell textfil. En textfil för varje svarsalternativ alltså.

Tack på förhand!

------------------
¤ WIBERG ¤

SweyMedlem sedan apr. 20003 971 inlägg
#2

Så här, kanske?

<form method=post>
<input type=radio name=opt value=a>A
<input type=radio name=opt value=b>B
<input type=radio name=opt value=c>C
<input type=submit>
</form>
<?
if($REQUEST_METHOD == "POST") {
if($opt == "a") // Välj fil
$file = "a.dat";
else if($opt == "b")
$file = "b.dat";
else if($opt == "c")
$file = "c.dat";
else die("Bad choice");

$fp = fopen($file, "w+"); // Öppna fil för uppdatering
$no = (int)fread($fp, 15); // Läs in nummer (0 om filen inte finns)
rewind($fp); // Spola tillbaka
fwrite($fp, $no + 1); // Skriv nytt nummer
fclose($fp); // Stäng fil
}
?>

Det finns dock bättre sätt att lösa t.ex. röstningsystem. Man kan bland annat använda databaser som är mycket effektivare.

------------------
- Swey
Skriv först, tänk sen!

WibergMedlem sedan juni 20003 169 inlägg
#3

Tackar! :e :e :e

------------------
¤ WIBERG ¤

WibergMedlem sedan juni 20003 169 inlägg
#4

Jag igen :e

Du skulle inte kunna lägga til några rader i koden så att samma besökare inte kan rösta mer än en gång åt gången. Besökarens IP sparas alltså då i t.ex. ipnummer.txt

:q

------------------
¤ WIBERG ¤

WibergMedlem sedan juni 20003 169 inlägg
#5

Det går bra att rösta en gång på varje alternativ men sedan vill scriptet inte längre. A=1 B=1 C=1 men aldrig 2...

------------------
¤ WIBERG ¤

SweyMedlem sedan apr. 20003 971 inlägg
#6

Jag kunde inte testa koden sist så därför smög det in ett fel.
Ändra fopen-raden till denna: (r+ istället för w+)
$fp = fopen($file, "r+"); // Öppna fil för uppdatering

Filen måste dock finnas för att det ska fungera nu.

Om besökarna bara ska kunna rösta en gång måste hela systemet bytas ut och fungera helt annorlunda mot det du beskrev. Här finns lite skript att tanka hem och testa. http://php.resourceindex.com/Complete_Scripts/Survey_and_Voting/

------------------
- Swey
Skriv först, tänk sen!

[Redigerat av Swey den 05 nov 2000]

132 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
129 ms — hämta tråd, inlägg och bilagor (db)