Hejsan !
Har laddat ner en enkel röstning script där folk kan rösta. Men denna går efter ip nummer så man inte kan rösta två gånger med samma ip nummer. Kan man byta ut det så den tar användarnamnet istället för ip nummer?
Mvh Forcevision
4 svar · 341 visningar · startad av Forcevision
Hejsan !
Har laddat ner en enkel röstning script där folk kan rösta. Men denna går efter ip nummer så man inte kan rösta två gånger med samma ip nummer. Kan man byta ut det så den tar användarnamnet istället för ip nummer?
Mvh Forcevision
ja det går väl. Enklast är om endas "inloggade" får rösta i så fall, för då kan du hämta användarnamnen ifrån databasen igenom sessionen som skapats när man loggat in..om du använder session dvs.
Jepp men provat detta men det blir fel eller så har jag gjort fel.
<?php
session_start();
if (!isset($_SESSION['sess_user']))
die('<p>Du har inte access till denna sida.</p>');
?>
<?php
require $_SERVER["DOCUMENT_ROOT"].DIRECTORY_SEPARATOR.'poll'.DIRECTORY_SEPARATOR.'settings.php';
require $_SERVER["DOCUMENT_ROOT"].DIRECTORY_SEPARATOR.'poll'.DIRECTORY_SEPARATOR.'functions.php';
$pollfile = $_SERVER["DOCUMENT_ROOT"].DIRECTORY_SEPARATOR.'poll'.DIRECTORY_SEPARATOR.'poll.txt';
$iplogfile = $_SERVER["DOCUMENT_ROOT"].DIRECTORY_SEPARATOR.'poll'.DIRECTORY_SEPARATOR.'iplog.txt';
// get client IP
$userIP = $_SESSION['sess_user']
// get IP log
$arrIps = ReadLogFile();
// if user hasn't voted store vote
if (!find_in_array($userIP, $arrIps)) {
$fp = fopen($iplogfile, "a");
$linetoadd = $userIP.':';
fputs($fp, $linetoadd);
fclose($fp);
// Read current poll data
$arrPoll = ReadPollData();
$question = $arrPoll[2];
$arrAlts = $arrPoll[0];
$arrVotes = $arrPoll[1];
// Add vote
$vote = $_GET["alt"];
$arrVotes[$vote] += 1;
$fp = fopen($pollfile, "w");
$linetoadd = stripslashes($question.":");
fputs($fp, $linetoadd);
for($i=0; $i < count($arrAlts); $i++) {
$linetoadd = stripslashes($arrAlts[$i]).":".$arrVotes[$i].":";
fputs($fp, $linetoadd);;
}
fclose($fp);
}
$ref = $_SERVER["HTTP_REFERER"];
header("Location: $ref");
?>
Detta är den ända filen man behöver ändra i tror jag. som du ser har jag ändrat så det står så vid den raden nu $_SESSION['sess_user'] men då kommer detta felmedelandet fram:
Parse error: syntax error, unexpected T_VARIABLE in /public_html/poll/vote.php on line 17
Vad har jag gjort för fel ?
Du har glömt att avsluta raden med ;
Ibland blir man så trött en sådan lite miss och så fungerar det inte !!!
Man tackar för hjälpen ! :)