Gå til innhold

Vote script, fatal error


Anbefalte innlegg

Fatal error: Call to undefined function: readelements() in /web/www/frac/users/iquniez/poll/vote.php on line 15

 

Der er erroren.

 

Noen som kan hjelpe meg ? (A)

 

Scriptet er slik:

 

<?php

require 'settings.php';
require 'pollcode.php';

// Save ip-number to log so user cant vote again
$filename = $DATAPATH . "iplog.txt";
$fp = fopen($filename, "a");
$linetoadd = $_SERVER["REMOTE_ADDR"].':';
fputs($fp, $linetoadd);
fclose($fp);

// Read current poll data
$arrPoll = ReadElements();
$question = $arrPoll[2];
$arrAlts = $arrPoll[0];
$arrVotes = $arrPoll[1];

// Add vote
$vote = $_GET["alt"];
$arrVotes[$vote] += 1;


$filename = $DATAPATH . "poll.txt";
$fp = fopen($filename, "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");
?>

Endret av stianiquniez
Lenke til kommentar
Videoannonse
Annonse

settings.php

 

<?php
/*
TxtPoll Settings
Version: 1.1
Author: Peter Tornstrand <[email protected]>
Date: 2005-09-26
Note: Feel free to use this script however you like. If you like it or have made improvements to it please don't hesitate to drop me a line.
*/

// Password for the administration interface
$PASSWORD = '******';

// Path to the directory containing the data files
$DATAPATH = '/web/www/frac/users/iquniez/poll/';

// Domain (without www)
$DOMAIN = 'iquniez.frac.dk';
?>

 

pollcode.php

 

 
<?php
/*
TxtPoll Vote code
Version: 1.1
Author: Peter Tornstrand <[email protected]>
Date: 2005-09-26
Note: Feel free to use this script however you like. If you like it or have made improvements to it please don't hesitate to drop me a line.
*/

require 'settings.php';

function ReadPollData() {
$filename = $DATAPATH . 'poll.txt';
$fp = fopen($filename, "r");
$fc = fread($fp,filesize($filename)-1);
fclose($fp);

$elements = explode(":", $fc);
$h = (count($elements)-1) / 2;
$question = stripslashes($elements[0]);
$i = 0;
while ($h > $i) {
 $item[$i] = $elements[(2*$i+1)];
 $votes[$i] = $elements[(2*$i+2)];
 $i++;
}
return array ($item, $votes, $question);
}

function ReadLogFile() {
$filename = $DATAPATH . 'iplog.txt';
$fp = fopen($filename, "r");
$fc = fread($fp,filesize($filename));
fclose($fp);

$elements = explode(":", $fc);
return $elements;
}
?>

Endret av stianiquniez
Lenke til kommentar

ReadPollData er vel funksjonen han egentlig mener å bruke :)

(denne var iallefall i den ene fila).

 

Foresten, et tips:

For å slippe å skrive administratorpassordet åpent, så skriver du md5 summen av det :)

og der du sjekker passorder, bruker du "if($PASSWORD == md5($_POST["passord"])) i stedet ;)

Lenke til kommentar

Har ikke skrevet selv.

 

poll.php ser slik ut:

 

 
<?php
include 'settings.php';
include 'pollcode.php';
$arrPoll = ReadPollData();

// Count total votes
$total_votes = 0;
for ($i=0; $i < count($arrPoll[1]); $i++) {
$total_votes += $arrPoll[1][$i];
}
?>

<p class="question"><?php echo $arrPoll[2] ?></p>
<ul class="txtPoll">
<?php
$arrIps = ReadLogFile();
if (in_array($_SERVER["REMOTE_ADDR"], $arrIps)) {
for ($i=0; $i < count($arrPoll[0]); $i++) {
 if ($total_votes>0) {
 	echo '<li>'.$arrPoll[0][$i].'<div class="graph" style="width:'.round(($arrPoll[1][$i]/$total_votes*100),0).'px;"><!-- --></div><div class="percent">'.round(($arrPoll[1][$i]/$total_votes*100),0).'%</div></li>'."\n";
 } else {
 	echo '<li>'.$arrPoll[0][$i].'<div class="graph" style="width:1px;"><!-- --></div><div class="percent">0%</div></li>'."\n";
 }
}
} else {
for ($i=0; $i < count($arrPoll[0]); $i++) {
 if ($total_votes>0) {
 	echo '<li><a href="/poll/vote.php?alt='.$i.'">'.$arrPoll[0][$i].'</a><div class="graph" style="width:'.round(($arrPoll[1][$i]/$total_votes*100),0).'px;"><!-- --></div><div class="percent">'.round(($arrPoll[1][$i]/$total_votes*100),0).'%</div></li>'."\n";
 } else {
 	echo '<li><a href="/poll/vote.php?alt='.$i.'">'.$arrPoll[0][$i].'</a><div class="graph" style="width:1px;"><!-- --></div><div class="percent">0%</div></li>'."\n";
 }
}
}
?>
</ul>
<p class="totalvotes">Totalt votes: <?php echo $total_votes ?></p>

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...