Help with PHP????

Lithium381

Lifer
May 12, 2001
12,455
7
81
PHP:
for ($i=1; $i<=10; $i++)
    {
  $buffer = fgets($file_pointer);
  if (strpos($buffer,"192.168.4."))
    {
    $4thoct = substr($buffer,15,(strpos($buffer,"is")-13);
    if ($rowcounter == 15)  then { echo "</tr><tr>"; $rowcounter = 0; }
    if strpos($buffer,"down") 
    {
     //red
     echo "<td style=""background-color:#FF0000""><b>".$4thoct."</b></td>";
     $rowcounter++;
    }
    else if strpos($buffer,"up")
     {
     echo "<td style=""background-color:#00FF00""><b>".$4thoct."</b></td>";
     $rowcounter++;
//green
     }
   }


I'm getting error after error with this thing.... mostly 'undefined t_string' and 'unexpected {' when i'm coming off the loop. I've only just started with php so maybe ive forgotten to dot an I or cross a T.....

basically it's reading from a file, checking each line for the start of a particular ip address range, and then if it's listed as "up" puts a green box, and if "down" puts a red box. any pointers?
 
Last edited:

hellfreeze

Golden Member
Dec 7, 2001
1,046
0
0
I only read a few basic PHP things, but here's what I'm seeing from a general programming view...

Your code:
PHP:
$4thoct = substr($buffer,15,(strpos($buffer,"is")-13);
You're not ending your right parentheses...should be:
PHP:
$4thoct = substr($buffer,15,(strpos($buffer,"is")-13));

(You had 3 left parentheses and only 2 right ones)
 
Last edited:

hellfreeze

Golden Member
Dec 7, 2001
1,046
0
0
You should also include a } after:

PHP:
echo "<td style=""background-color:#00FF00""><b>".$4thoct."</b></td>";
     $rowcounter++;

You're basically ending your else if and if statements, but not the original function statement.

Change the ending to:
PHP:
    echo "<td style=""background-color:#00FF00""><b>".$4thoct."</b></td>";
     $rowcounter++;
//green
     }
     }
   }
 
Last edited:

Lithium381

Lifer
May 12, 2001
12,455
7
81
You should also include a } after:

PHP:
echo "<td style=""background-color:#00FF00""><b>".$4thoct."</b></td>";
     $rowcounter++;

You're basically ending your else if and if statements, but not the original function statement.

Change the ending to:
PHP:
    echo "<td style=""background-color:#00FF00""><b>".$4thoct."</b></td>";
     $rowcounter++;
//green
     }
     }
   }

Thanks....... i went back and found a lot of simliar errors in the code and fixed them. i also found out PHP doesn't like white-space....... that took a LONG time to track down. but i finally got the whole script working like i intended to now, thanks!!
 

Ken g6

Programming Moderator, Elite Member
Moderator
Dec 11, 1999
16,836
4,815
75
i also found out PHP doesn't like white-space
Uh, what? :confused: I'm glad your script is working, but I don't want you to learn the wrong lesson from this. What do you mean by "doesn't like white-space"?
 

sourceninja

Diamond Member
Mar 8, 2005
8,805
65
91
I think he means trailing white space. Which can cause problems with some php scripts.