| 
	
 | 
 Posted by Geoff Berrow on 01/02/07 10:40 
Message-ID: <8K-dnU4b54oOWQTYnZ2dnUVZ_uuqnZ2d@adelphia.com> from Mr. 
Newt contained the following: 
 
>> Why not write your own? 
> 
>I really don't know anything about PHP except what I picked up over the past  
>2 weekends during free time.  I'm beginning to think I should get a PHP for  
>dummies book. 
 
This script probably won't work with the fix for the previous one. 
 
If you haven't the time to learn PHP properly it may be as well to make 
your system the same as the ones the code you are 'borrowing'.   
 
The error reporting on your new system is set to show ALL errors. 
Previous installations were set to suppress notices, which don't 
necessarily stop the code from working.  It's generally accepted that 
you should code with all errors showing nowadays but as you have found, 
there are plenty of old scripts out there. 
 
So the quick and dirty fix is to add 
error_reporting(E_ALL ^ E_NOTICE); 
to the top of your code. This will suppress notices. 
http://uk2.php.net/manual/en/function.error-reporting.php 
 
Why is this necessary?  Well in the code you showed us  you have things 
like: 
 
if($variable){ 
//do something 
} 
 
Now, if $variable does not exist you will get an undefined variable 
notice.  However, in this case the coder does not care, s/he only wants 
the condition executed if the variable exists.  And with the default 
condition of notices suppressed he cannot see the notice anyway. 
 
Coding it yourself, the modern way with all notices showing you would 
write 
 
if(isset($variable)){ 
//do something 
} 
 
I respectfully suggest you avoid this kind of fixing until you have 
learned a little more. 
 
 
--  
Geoff Berrow  0110001001101100010000000110 
001101101011011001000110111101100111001011 
100110001101101111001011100111010101101011
 
[Back to original message] 
 |