Hi, >From what i can see you dont even need to call global, as your passing variables to the function ? this could be causing the script to confuse itself. hth On Fri, 21 Jan 2005 09:30:21 -0700, Jason <jason.gerfen@xxxxxxxxxxxx> wrote: > Jason wrote: > > Simple functions to check & fix if necessary invalid formating of a MAC > > address... I seem to be having problems with the global variable $mac > > not being returned from the fix_mac() function. Any help is appreciated. > > > > <?php > > /* > > * ex. 00:AA:11:BB:22:CC > > */ > > function chk_mac( $mac ) { > global $mac; > > if( eregi( > > "^[0-9A-Fa-f]{2}\:[0-9A-Fa-f]{2}\:[0-9A-Fa-f]{2}\:[0-9A-Fa-f]{2}\:[0-9A-Fa-f]{2}\:[0-9A-Fa-f]{2}$", > > $mac ) ) { > > return 0; > > } else { > > return 1; > > } > > } > > > > /* > > * check validity of MAC & do replacements if necessary > > */ > > function fix_mac( $mac ) { > > global $mac; > > /* strip the dash & replace with a colon */ > > if( eregi( > > "^[0-9A-Fa-f]{2}\-[0-9A-Fa-f]{2}\-[0-9A-Fa-f]{2}\-[0-9A-Fa-f]{2}\-[0-9A-Fa-f]{2}\-[0-9A-Fa-f]{2}$", > > $mac ) ) { > > $mac = preg_replace( "/\-/", ":", $mac ); > > return $mac; > > } > > /* add a colon for every two characters */ > > if( eregi( "^[0-9A-Fa-f]{12}$", $mac ) ) { > > /* split up the MAC and assign new var names */ > > @list( $mac1, $mac2, $mac3, $mac4, $mac5, $mac6 ) = @str_split( $mac, > > 2 ); > > /* put it back together with the required colons */ > > $mac = $mac1 . ":" . $mac2 . ":" . $mac3 . ":" . $mac4 . ":" . $mac5 . > > ":" . $mac6; > > return $mac; > > } > > } > > > > // do our checks to make sure we are using these damn things right > > $mac1 = "00aa11bb22cc"; > > $mac2 = "00-aa-11-bb-22-cc"; > > $mac3 = "00:aa:11:bb:22:cc"; > > > > // make sure it is global > > global $mac; > > > > // if mac submitted is invalid check & fix if necessary > > if( chk_mac( $mac1 ) != 0 ) { > > $mac = fix_mac( $mac1 ); echo $mac1 . " converted to " . $mac . "<br>"; > > } > > if( chk_mac( $mac2 ) != 0 ) { > > $mac = fix_mac( $mac2 ); echo $mac2 . " converted to " . $mac . "<br>"; > > } > > if( chk_mac( $mac3 ) != 0 ) { > > $mac = fix_mac( $mac3 ); echo $mac3 . " converted to " . $mac . "<br>"; > > } > > > > ?> > Still does not resolve the problem. declaring $mac as global in the > chk_mac() function. > > -- > Jason Gerfen > Student Computing > Marriott Library > 801.585.9810 > jason.gerfen@xxxxxxxxxxxx > > "And remember... If the ladies > don't find you handsome, they > should at least find you handy..." > ~The Red Green show > > -- > PHP General Mailing List (http://www.php.net/) > To unsubscribe, visit: http://www.php.net/unsub.php > > -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php