I don't know all the details about how PHP compiles a program, but having your function definitions in an if-else statement that may not be executed looks suspicious to me.
You've got if(!$Phone) { do something } else { function is_phone() { ...blah, blah...} } is_phone($Phone); If you don't hit the else block, your is_phone function is probably not defined. -Steve On Tuesday, December 18, 2001, at 07:26 AM, J.F.Kishor wrote: > hi all, > > I have got a problem, when I execute the following script it gives > a Fatal error, could any one tell me why is it ?, If this is a silly > problem please execuse me but, plz do reply me. > > The script is > ------------- > <html> > <body> > <? > if(!$Phone) > { > ?> > <form action="<?echo $PHP_SELF?>" method=post> > <br> > Telephone Number : <input type=text name=Phone value=""> > <br> > <input type=submit> > <script language="php"> > } > else > { > > function is_allnumbers ($text) > { > if( (gettype($text)) == "integer") > { > print "the value is an integer"; > return true; > } > > $Bad = $this->strip_numbers($text); > > if(empty($Bad)) > { > print "the value is empty"; > return true; > } > return false; > } > > function clear_error () > { > $this->ERROR = "this is an error"; > } > > > function is_phone ($Phone ="") > { > if($this->CLEAR) > { > $this->clear_error(); > } > > if(empty($Phone)) > { > $this->ERROR = "is_phone: No Phone number > submitted"; > return false; > } > > $Num = $Phone; > $Num = $this->strip_space($Num); > $Num = eregi_replace("(\(|\)|\-|\+)","",$Num); > if(!$this->is_allnumbers($Num)) > { > $this->ERROR = "is_phone: bad data in phone > number"; > return false; > } > > if ( (strlen($Num)) < 7) > { > print "the number is less then 7"; > $this->ERROR = "is_phone: number is too short > [$Num][$Phone]"; > return false; > } > > if( (strlen($Num)) > 13) > { > print "the number is > then 13"; > $this->ERROR = "is_phone: number is too long > [$Num][$Phone]"; > return false; > } > > return true; > } > } > $result = is_phone($Phone); > if($result == "true") > { > echo "success"; > } > else > { > echo "failure"; > } > > </script> > </body> > </html> > > The error is > ------------ > Fatal error: Call to undefined function: is_phone() in > /home/kuruvi1/kishor/public_html/IMS/ADMIN/test/is_phone.php on line 87 > > > Thanks for your tolerance, > > - JFK > kishor > > > > -- > PHP General Mailing List (http://www.php.net/) > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > To contact the list administrators, e-mail: [EMAIL PROTECTED] > -- PHP General Mailing List (http://www.php.net/) To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] To contact the list administrators, e-mail: [EMAIL PROTECTED]