[php] Undefined offset:

Pagina: 1
Acties:

  • radial
  • Registratie: Augustus 2000
  • Laatst online: 19:16

radial

Watch out

Topicstarter
Deze foutmelding Undefined offset: krijg ik als het script wordt uitgevoerd. De output is zoals ik hem hebben wil alleen heb geen idee wat de foutmelding betekend en hoe je die op kan lossen, ben al een tijd op zoek maar kan er niet echt een duidelijk antwoord op vinden.

Iemand enig idee?

20xSF170s - ozo


  • Mithrandir
  • Registratie: Januari 2001
  • Laatst online: 16-09 21:52
Als je nou eens begint met de code te posten.

Verbouwing


  • radial
  • Registratie: Augustus 2000
  • Laatst online: 19:16

radial

Watch out

Topicstarter
Hier het script waar het om gaat:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
<?
function print_HTML_header()
    {
        echo "<HTML>\n<HEAD>\n<TITLE>\n</TITLE>\n</HEAD>\n<BODY BACKGROUND='images/bg.gif'>\n\n";
    }
    
function  print_HTML_footer()
    {
        echo "</BODY></HTML>";
    }
    
 #$filename = "d:/rc5/proxy2/logs/graphic.log";
 #$table_width = 300;
 #$bar_height = 200;

function  print_graph($filename,$table_width,$bar_height)
    {
        
        $fp = fopen($filename,"r");        //Open the file for reading
        
        //2 bytes added to accomodate for newline character, if missing
        $tempdata = fgets($fp,filesize($filename)+2);    
        
        $data = explode(";",$tempdata);    //Get Caption-Value pairs
        $data_items = count($data);
        $num = 0;
        
        
        for ($i = 0; $i < $data_items ; $i++)
            {
                $temp = explode("/",$data[$i]);
                $caption[$i] = $temp[0];
                $val[$i] = $temp[1];
            }
        
        $total = 0;        
        
        for ($i = 0; $i < $data_items ; $i++)
            $total = $total + $val[$i];

        for ($i = 0; $i < $data_items ; $i++)
            $percent[$i] = round(($val[$i]*100) / $total);
                
        $highest_percent = max($percent);
        
        echo "\n<TABLE BORDER=1 CELLPADDING=2 CELLSPACING=0 BORDERCOLOR='silver'>\n";
        
        echo  "<TR BGCOLOR='silver' ALIGN='center' VALIGN=middle>\n<TD COLSPAN=2>".
                  "<FONT FACE='verdana' SIZE=-1><B></B></FONT>\n</TD>\n</TR>";
        
        echo "<DIV ALIGN='center'>\n<TR>\n<TD>\n\t<TABLE BORDER=0 CELLPADDING=2 CELLSPACING=0>";
        
        for ($i = 0; $i < $data_items ; $i++)
            {
                
                $width = round(($percent[$i]*($table_width-50))/$highest_percent);
                
                echo "\n\t\t<TR VALIGN=middle><TD>".
                          "<FONT FACE='verdana' SIZE=-1><B>$caption[$i]</B></FONT></TD>".
                          "\n\t\t<TD VALIGN=middle WIDTH=$table_width>".
                          "[img]\"dot_blu.gif\"[/img]".
                          "<FONT FACE='verdana' SIZE=-2> $val[$i]</FONT></TD></TR>";
            }
        echo "</TABLE></TD></TR>".
                  "<TR>".
                  "<TD ALIGN='center'>".
                                   "<B><FONT FACE=\"Verdana\" SIZE=-2>".
                  "Total Opinions : $total</FONT></B>".
                  "</TD>".
                  "</TR>".
                                                    "</TABLE>";
    }

$filename="d:/rc5/proxy2/logs/graphic.log";

    
print_HTML_header();
echo "<DIV ALIGN='center'>";
print_graph($filename,350,10);
echo "</DIV >";
print_HTML_footer();
?>

Warning: Undefined offset: 1 in xxxx on line 72


Heb het prob intussen opgelost, $tempdata = fgets($fp,filesize($filename)+2); de "+2" heb ik verwijderd en hierna werkte alles zonder problemen, met de goede output.

Alleen ben ik nog wel benieuwd wat de precieze oorzaak is van die foutmelding, er wordt dus gezocht naar een array[$x] en als die niet aanwezig is geeft ie die fout? Is m`n redenering hierop goed.

20xSF170s - ozo


  • D2k
  • Registratie: Januari 2001
  • Laatst online: 31-08 10:19

D2k

en op welke regel mogen we dan de foutmelding zoeken?
en geef die regel ook ff aan in je script

Doet iets met Cloud (MS/IBM)