Avatar billede riverhorse Nybegynder
10. juni 2004 - 11:32 Der er 8 kommentarer og
1 løsning

Hvad betyder denne fejl ?

Heyza drenge og piger !

Jeg har et problem med at indsætte et forum på min PHP side:
www.nobitching.com/forum.php
prøv at trykke på én af kategorierne så får man denne fejl:

Fatal error: Cannot redeclare sumarray() (previously declared in /web/www.nobitching.com/www/lp_source.php:11) in /web/www.nobitching.com/www/lp_source.php on line 11

er der nogle der kan hjælpe mig med hvad den betyder ?

Riverhorse :)
Avatar billede taskmgr Nybegynder
10. juni 2004 - 11:34 #1
Lad os se lp_source.php :)
Avatar billede riverhorse Nybegynder
10. juni 2004 - 11:38 #2
<?php

include("lp_settings.inc"); //include file containing general settings
import_request_variables("p", "p_"); //import POST variables
import_request_variables("c", "c_"); //import cookie variables

if (!isset($c_votingstep)) {
    $votingstep=1;
    } else { $votingstep = $c_votingstep; }

function SumArray($arr) {
    $h=count($arr); $in=0; $m=0;
    while ($in<$h) { $m += $arr[$in]; $in++;    }
    return $m;
}

function getIP() {
    if (getenv("HTTP_CLIENT_IP")) $ip = getenv("HTTP_CLIENT_IP");
    else if(getenv("HTTP_X_FORWARDED_FOR")) $ip = getenv("HTTP_X_FORWARDED_FOR");
    else if(getenv("REMOTE_ADDR")) $ip = getenv("REMOTE_ADDR");
    else $ip = "UNKNOWN";
return $ip;
}

function write2log ($linetoadd) {
    $rightnow=date("F j, Y, g:i a");
    $fplog=fopen('lp_log.dat', "a");
    fputs($fplog, getIP()."|".$rightnow."|".$linetoadd."\n");
    fclose($fplog);
}

function ReadElements() {
    global $filename;
    $fp=fopen($filename, "r");
    $file_contents=fread($fp,filesize($filename)-1);
    fclose($fp);
    $elements=explode(":",$file_contents);
    $h=(count($elements)-1)/2;
    $question=stripslashes($elements[0]);
    $in=0;
    while ($h>$in) {
        $item[$in]=$elements[(2*$in+1)];
        $itemvoted[$in]=$elements[(2*$in+2)];
        $in++;
    }
    return array ($item, $itemvoted, $question);
}

list ($item, $itemvoted, $question) = ReadElements();

if(isset($c_pollidcookie)) {
    if ($question != stripslashes($c_pollidcookie)) {
    $votingstep=1;
    }
}
setcookie("pollidcookie", $question, time()+$time_between_votes);

if (isset($votingstep)) {
    function ShowTheStuff($item, $itemvoted, $graph_width, $graph_height) {
        $hector=count($itemvoted);$totalvotes=0;$in=0;$stepstr='';
        $totalvotes=SumArray($itemvoted);
        $in=0;
        if ($totalvotes==0) { $totalvotes=0.0001; }
        while ($in<$hector) {
            $stepstr=$stepstr.stripslashes($item[$in]).': '.(int)(($itemvoted[$in]/$totalvotes)*100).'%<br>';
            $timesred=(int)((($itemvoted[$in]/$totalvotes))*$graph_width);
            $stepstr=$stepstr.'<img height='.$graph_height.' width='.$timesred.' src="lp_1.gif"><img height='.$graph_height.' width='.($graph_width-$timesred).' src="lp_0.gif"><br><br>';
            $in++;
        }
        return $stepstr;
    }
}

if (!isset($votingstep)) {
    $votingstep=1;
    }

if ($votingstep==2) {
    if(!isset($p_radios)){
        $votingstep=1;
        write2log("Clicked vote button without choosing an item");
    } // detect if someone has clicked the voting button without choosing an item
}

if ($votingstep==1) {
    write2log("Enters Poll");
    setcookie("votingstep","2",time()+$time_between_votes);
    $mainstr=$message1;
    $step1str='<form action="'.$callingfile.'" method="post" name="form1">';
    $totalvotes=SumArray($itemvoted);
    $in=0;
    $datop=count($item);
    while($in<$datop){
        $step1str=$step1str.'<input type="radio" name="radios" value="'.$in.'"> '.stripslashes($item[$in]).'<br>';
        $in++;
    }
    $step1str=$step1str.'<br><input style="'.$buttonstyle.'" type="Submit" value="'.$vote_str.'"></form>';
}

if ($votingstep==2) {
    setcookie("votingstep","3",time()+$time_between_votes);
    $mainstr=$message2;
    $itemvoted[$p_radios]=$itemvoted[$p_radios]+1;
    $totalvotes=SumArray($itemvoted);
    $fp=fopen($filename, "w");
    $hector=count($item);
    $in=0;
    $linetoadd=$question.':';
    fputs($fp, $linetoadd);
    while($in<$hector) {
        $linetoadd=$item[$in].':'.$itemvoted[$in].':';
        fputs($fp, $linetoadd);
        $in++;
    }
    fclose($fp);
    write2log("Vote received on ".$item[$p_radios]);
    $step2str=ShowTheStuff($item, $itemvoted, $graph_width, $graph_height);
}
if ($votingstep==3) {
    $mainstr=$message3;
    $totalvotes=SumArray($itemvoted);
    write2log("Views results");
    $step3str=ShowTheStuff($item, $itemvoted, $graph_width, $graph_height);
}

?>
Avatar billede riverhorse Nybegynder
10. juni 2004 - 11:39 #3
Den høre til stemme boksen ;)

Riverhorse
Avatar billede avminarm Juniormester
10. juni 2004 - 11:54 #4
Det er fordi du har sumarray() med to gange et eller andet sted
Avatar billede riverhorse Nybegynder
10. juni 2004 - 12:00 #5
Jeg har søgt alle filerne igennem der er ikke 2 sumarrays er det fordi den kalder forum.php 2 gange ... ?

Riverhorse
Avatar billede riverhorse Nybegynder
10. juni 2004 - 12:05 #6
Hvis jeg fjerner include('lp_source.php'); fra forum.php så får jeg bare denne fejl istedet:
Fatal error: Cannot redeclare getmicrotime() (previously declared in /web/www.nobitching.com/www/gentime.php:6) in /web/www.nobitching.com/www/gentime.php on line 5
Avatar billede avminarm Juniormester
10. juni 2004 - 13:01 #7
vis evt kildekode for forum.php
Avatar billede xyborx Nybegynder
10. juni 2004 - 13:43 #8
Mon ikke du på en eller anden måde includer filerne flere gange? Brug include_once til at include filer med funktionsdefinitioner, for at undgå fejlen.
Avatar billede riverhorse Nybegynder
13. juni 2004 - 16:09 #9
fandt selv ud af det loadede bare forumet i en i frame !

Riverhorse
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester