Oppure di if ne scrivi solo uno...


Codice PHP:
// Parte faticosa: Mettiamo in un array associativo i segni zodiacali e la loro periodazione
// Già in TIMESTAMP  possibilmente
$zodiaco = array("ariete"=>array("start"=>strtotime("21-03-2000"),"end"=>strtotime("20-04-2000")), 
                  
"toro"=>array("start"=>strtotime("21-04-2000"),"end"=>strtotime("20-05-2000")),
                  
"gemelli"=>array("start"=>strtotime("21-05-2000"),"end"=>strtotime("21-06-2000")) );

// e così via, assumiamo come 2000 l'anno convenzionale.

/* prendiamo solo il giorno e mese della data di nascita utente, 
- ma come anno, l'anno convenzionale stabilito, 2000. in timestamp.*/

$mese="05"//esempio
$giorno="10"// esempio
$dataUtente strtotime("2000-".$mese."-".$giorno);

// ricaviamo il segno zodiacale

function assegnaSegno($dataUtente,$zodiaco){
    foreach(
$zodiaco as $key => $segnoDati){
        if(
$dataUtente >= $segnoDati["start"] AND $dataUtente <= $segnoDati["end"]){
            return 
$key;
        }
    }
}
// stampa toro
print assegnaSegno($dataUtente,$zodiaco); 
Il giorno e il mese, visto che provengono da un form, andrebbero validati.