I have changed my code to:
Code: Select all
<?php
$starsign[0] = array('name'=>'Capricorn', 'description' =>'description of capricorn people');
$starsign[1] = array('name'=>'Aquarius', 'description' =>'description of aquarius people');
$starsign[2] = array('name'=>'Pisces', 'description' =>'description of Pisces people');
$starsign[3] = array('name'=>'Aries', 'description' =>'description of aries people');
$starsign[4] = array('name'=>'Taurus', 'description' =>'description of Taurus people');
$starsign[5] = array('name'=>'Gemini', 'description' =>'description of Gemini people');
$starsign[6] = array('name'=>'Cancer', 'description' =>'description of Cancer people');
$starsign[7] = array('name'=>'Leo', 'description' =>'description of Leo people');
$starsign[8] = array('name'=>'Virgo', 'description' =>'description of Virgo people');
$starsign[9] = array('name'=>'Libra', 'description' =>'description of Libra people');
$starsign[10] = array('name'=>'Scorpio', 'description' =>'description of Scorpio people');
$starsign[11] = array('name'=>'Sagittarius', 'description' =>'description of Sagittarius people');
$month = $_POST['user_month'];
$day = $_POST['user_day'];
$year = $_POST['user_year'];
$user_starsign = $starsign[$group]['name'];
$description = $starsign[$group]['description'];
function star_sign($month, $day, $year) {
$time = mktime(0, 0, 0, $month, $day, $year); //return the Unix timestamp
$day_of_year = date("z", $time); // "z" is equal to the day of the year 0 to 365
if (date("L", $time) && ($day_of_year > 59)) // for leap years "L" is LEAP YEAR
$day_of_year -= 1; // if it is FEB 29 (59) Subtract 1 from the day of year
switch ($day_of_year) {
case $day_of_year > 356: // above 22nd Dec = Capricorn
return "Capricorn";
case $day_of_year > 326:
return "Sagittarius";
case $day_of_year > 296:
return "Scorpio";
case $day_of_year > 266:
return "Libra";
case $day_of_year > 235:
return "Virgo";
case $day_of_year > 203:
return "Leo";
case $day_of_year > 172:
return "Cancer";
case $day_of_year > 140:
return "Gemini";
case $day_of_year > 111:
return "Taurus";
case $day_of_year > 78:
return "Aries";
case $day_of_year > 51:
return "Pisces";
case $day_of_year > 20:
return "Aquarius";
default:
return "Capricorn";
}
}
echo "Your star sign is " . star_sign($month, $day, $year);
?>
I get the idea of having a multi-dimensional array.
I have also removed the "if" statements to a "swtich" but it is not working correctly for me. I have two problems:
1) no matter what I enter into my form page it will only ever return "capricorn"
2) In my function I have got it to return a string rather than relate this back to the starsign array. How do I go about changing this?