Page 1 of 1

birthday

Posted: Fri Apr 15, 2011 11:08 pm
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]
?>

Re: birthday

Posted: Mon Apr 18, 2011 4:57 pm
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

Re: birthday

Posted: Mon Apr 18, 2011 4:59 pm
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);