birthday

PHP programming forum. Ask questions or help people concerning PHP code. Don't understand a function? Need help implementing a class? Don't understand a class? Here is where to ask. Remember to do your homework!

Moderator: General Moderators

Post Reply
Alidad
Forum Commoner
Posts: 29
Joined: Thu Mar 29, 2007 12:42 pm

birthday

Post by Alidad »

hi, i need someone to help me, i wrote the code relate to birthday and microscope sign,when person input date and day of birthday i did not get response of zonic.
what i put on text fileds name "month_b" and "day_b" but in echo statment is not showing after input birthday information.

please help thanks.

AM

please see code

Code: Select all

<?php
function zodiac($DOB){
	list($month,$day) = explode("-",$DOB);
	if(($month == 3 || $month == 4) && ($day > 22 || $day < 21)){
		$zodiac = "Aries";
	}
	elseif(($month == 4 || $month == 5) && ($day > 22 || $day < 22)){
		$zodiac = "Taurus";
	}
	elseif(($month == 5 || $month == 6) && ($day > 23 || $day < 22)){
		$zodiac = "Gemini";
	}
	elseif(($month == 6 || $month == 7) && ($day > 23 || $day < 23)){
		$zodiac = "Cancer";
	}
	elseif(($month == 7 || $month == 8) && ($day > 24 || $day < 22)){
		$zodiac = "Leo";
	}
	elseif(($month == 8 || $month == 9) && ($day > 23 || $day < 24)){
		$zodiac = "Virgo";
	}
	elseif(($month == 9 || $month == 10) && ($day > 25 || $day < 24)){
		$zodiac = "Libra";
	}
	elseif(($month == 10 || $month == 11) && ($day > 25 || $day < 23)){
		$zodiac = "Scorpio";
	}
	elseif(($month == 11 || $month == 12) && ($day > 24 || $day < 23)){
		$zodiac = "Sagittarius";
	}
	elseif(($month == 12 || $month == 1) && ($day > 24 || $day < 21)){
		$zodiac = "Cpricorn";
	}
	elseif(($month == 1 || $month == 2) && ($day > 22 || $day < 20)){
		$zodiac = "Aquarius";
	}
	elseif(($month == 2 || $month == 3) && ($day > 21 || $day < 21)){
		$zodiac = "Pisces";
	}
	
	return $zodiac;
}
echo zodiac('07-22-1986'); //MM-DD-YYYY (Only month and day is important)
[b]echo zodiac('$b_month-$b_day-$b_year'); //MM-DD-YYYY (Only month and day is important)[/b]
?>
User avatar
Darhazer
DevNet Resident
Posts: 1011
Joined: Thu May 14, 2009 3:00 pm
Location: HellCity, Bulgaria

Re: birthday

Post by Darhazer »

well, this

Code: Select all

$day > 23 || $day < 23
would be true for any day. So maybe you would like to write it in this way:

Code: Select all

elseif(($month == 6 && $day > 23) || ($month == 7 && $day < 23)){
Additionally, you can clean up the code. Read about switch statement. ANd you can return directly the value, instead of returning it at the end of the function
User avatar
Darhazer
DevNet Resident
Posts: 1011
Joined: Thu May 14, 2009 3:00 pm
Location: HellCity, Bulgaria

Re: birthday

Post by Darhazer »

Code: Select all

echo zodiac('$b_month-$b_day-$b_year')
Should be:

Code: Select all

$date = $_GET['b_month'] .'-' . $_GET['b_day'] . '-' . $_GET['b_year'];
echo zodiac($date);
Post Reply