Pagina 1 di 2 12 UltimoUltimo
Visualizzazione risultati 1 fino 30 di 43
Like Tree4Likes

Discussione: Visualizzare zodiaco

  1. #1
    blackskyisback non è connesso Utente attivo
    Data registrazione
    29-05-2012
    Messaggi
    452

    Predefinito Visualizzare zodiaco

    Buongiorno a tutti,

    ho questa codice che calcola quanti anni ha un attore

    Codice PHP:
    <?php // code calcolo eta'

    $datanascita = $row['birthday'];

    $dateOfBirth = $datanascita;
    $today = date("Y-m-d");
    $diff = date_diff(date_create($dateOfBirth), date_create($today));

    ?>

    e questa funzione per lo zodiaco

    Codice PHP:
    <?php
    function getsign($day,$month) {
    if((
    $month==1 && $day>20)||($month==2 && $day<20)) {
    $mysign = "aquarius";
    }
    if((
    $month==2 && $day>18 )||($month==3 && $day<21)) {
    $mysign = "pisces";
    }
    if((
    $month==3 && $day>20)||($month==4 && $day<21)) {
    $mysign = "aries";
    }
    if((
    $month==4 && $day>20)||($month==5 && $day<22)) {
    $mysign = "taurus";
    }
    if((
    $month==5 && $day>21)||($month==6 && $day<22)) {
    $mysign = "gemini";
    }
    if((
    $month==6 && $day>21)||($month==7 && $day<24)) {
    $mysign = "cancer";
    }
    if((
    $month==7 && $day>23)||($month==8 && $day<24)) {
    $mysign = "leo";
    }
    if((
    $month==8 && $day>23)||($month==9 && $day<24)) {
    $mysign = "virgo";
    }
    if((
    $month==9 && $day>23)||($month==10 && $day<24)) {
    $mysign = "libra";
    }
    if((
    $month==10 && $day>23)||($month==11 && $day<23)) {
    $mysign = "scorpio";
    }
    if((
    $month==11 && $day>22)||($month==12 && $day<23)) {
    $mysign = "sagittarius";
    }
    if((
    $month==12 && $day>22)||($month==1 && $day<21)) {
    $mysign = "capricorn";
    }
    return
    $mysign;
    }
    print_r(getsign(16,7));
    ?>
    vorrei visualizzare lo zodiaco basandomi sul campo
    Codice PHP:
    $row['birthday']
    e' possibile?

    Grazie
    Ultima modifica di blackskyisback : 31-08-2020 alle ore 11.25.49

  2. #2
    gattino1313 non è connesso Utente
    Data registrazione
    15-08-2015
    Messaggi
    119

    Predefinito

    Ciao!

    Non sono molto pratico di "zodiaci", ma - se non erro - il segno si basa sulla data di nascita...

    Il PHP così funziona, spero sia anche giusto come "logica zodiacale"

    Codice PHP:

    // QUI INSERISCI richiamo al CAMPO $row['birthday']; ('2020/05/31' è solo per test)
    $datanascita = '2020/05/31';

    // scorporo data in GIORNO e MESE
    $day = date('d',strtotime($datanascita));
    $month = date('m',strtotime($datanascita));


    if((
    $month==1 && $day>20)||($month==2 && $day<20)) {
    $mysign = "aquarius";
    }
    if((
    $month==2 && $day>18 )||($month==3 && $day<21)) {
    $mysign = "pisces";
    }
    if((
    $month==3 && $day>20)||($month==4 && $day<21)) {
    $mysign = "aries";
    }
    if((
    $month==4 && $day>20)||($month==5 && $day<22)) {
    $mysign = "taurus";
    }
    if((
    $month==5 && $day>21)||($month==6 && $day<22)) {
    $mysign = "gemini";
    }
    if((
    $month==6 && $day>21)||($month==7 && $day<24)) {
    $mysign = "cancer";
    }
    if((
    $month==7 && $day>23)||($month==8 && $day<24)) {
    $mysign = "leo";
    }
    if((
    $month==8 && $day>23)||($month==9 && $day<24)) {
    $mysign = "virgo";
    }
    if((
    $month==9 && $day>23)||($month==10 && $day<24)) {
    $mysign = "libra";
    }
    if((
    $month==10 && $day>23)||($month==11 && $day<23)) {
    $mysign = "scorpio";
    }
    if((
    $month==11 && $day>22)||($month==12 && $day<23)) {
    $mysign = "sagittarius";
    }
    if((
    $month==12 && $day>22)||($month==1 && $day<21)) {
    $mysign = "capricorn";
    }

    echo
    $mysign;
    blackskyisback likes this.


    Sport, informatica, matematica, turismo, scienza e molto altro: tutto su un unico sito!
    Clicca QUI per visitarlo!

  3. #3
    blackskyisback non è connesso Utente attivo
    Data registrazione
    29-05-2012
    Messaggi
    452

    Predefinito

    Funziona perfettamente

    Grazie tante gattino1313


    ho provato un altro metodo

    caricare la funzione che si trova su un file esterno , ma non funziona

    Codice PHP:
    <?php
    // QUI INSERISCI richiamo al CAMPO $row['birthday']; ('2020/05/31' è solo per test)
    $datanascita = $row['birthday'];

    // scorporo data in GIORNO e MESE
    $day = date('d',strtotime($datanascita));
    $month = date('m',strtotime($datanascita));

    ?>

    <?php
    require_once ("../funzioni/astro.php");

    ?>

  4. #4
    darbula non è connesso AlterGuru 2500
    Data registrazione
    24-04-2011
    Messaggi
    2,894

    Predefinito

    Prima del require
    Codice PHP:
    // QUI INSERISCI richiamo al CAMPO $row['birthday']; ('2020/05/31' è solo per test)
    $datanascita = '2020/05/31';

    // scorporo data in GIORNO e MESE
    $day = (int) date('j',strtotime($datanascita));
    $month = (int) date('n',strtotime($datanascita));
    funzioni/astro.php
    Codice PHP:
    <?php
    function getsign($day,$month) {
    if((
    $month==1 && $day>20)||($month==2 && $day<20)) {
    $mysign = "aquarius";
    }
    if((
    $month==2 && $day>18 )||($month==3 && $day<21)) {
    $mysign = "pisces";
    }
    if((
    $month==3 && $day>20)||($month==4 && $day<21)) {
    $mysign = "aries";
    }
    if((
    $month==4 && $day>20)||($month==5 && $day<22)) {
    $mysign = "taurus";
    }
    if((
    $month==5 && $day>21)||($month==6 && $day<22)) {
    $mysign = "gemini";
    }
    if((
    $month==6 && $day>21)||($month==7 && $day<24)) {
    $mysign = "cancer";
    }
    if((
    $month==7 && $day>23)||($month==8 && $day<24)) {
    $mysign = "leo";
    }
    if((
    $month==8 && $day>23)||($month==9 && $day<24)) {
    $mysign = "virgo";
    }
    if((
    $month==9 && $day>23)||($month==10 && $day<24)) {
    $mysign = "libra";
    }
    if((
    $month==10 && $day>23)||($month==11 && $day<23)) {
    $mysign = "scorpio";
    }
    if((
    $month==11 && $day>22)||($month==12 && $day<23)) {
    $mysign = "sagittarius";
    }
    if((
    $month==12 && $day>22)||($month==1 && $day<21)) {
    $mysign = "capricorn";
    }
    return
    $mysign;
    }

    ?>
    dopo il require
    Codice PHP:
    <?php
    print_r
    (getsign($day, $month));

    ?>
    La funzione date si basa sull'impostazione locale del proprio timezone.
    blackskyisback likes this.

  5. #5
    blackskyisback non è connesso Utente attivo
    Data registrazione
    29-05-2012
    Messaggi
    452

    Predefinito

    Neanche questo funziona

    codice php

    Codice PHP:

    <?php
    require_once ("../funzioni/astro.php");

    ?>

    funzione astro.php

    Codice PHP:

    <?php
    // QUI INSERISCI richiamo al CAMPO $row['birthday']; ('2020/05/31' è solo per test)
    $datanascita = $row['birthday'];

    // scorporo data in GIORNO e MESE
    $day = date('d',strtotime($datanascita));
    $month = date('m',strtotime($datanascita));


    if((
    $month==1 && $day>20)||($month==2 && $day<20)) {
    $mysign = "aquarius";
    }
    if((
    $month==2 && $day>18 )||($month==3 && $day<21)) {
    $mysign = "pisces";
    }
    if((
    $month==3 && $day>20)||($month==4 && $day<21)) {
    $mysign = "aries";
    }
    if((
    $month==4 && $day>20)||($month==5 && $day<22)) {
    $mysign = "taurus";
    }
    if((
    $month==5 && $day>21)||($month==6 && $day<22)) {
    $mysign = "gemini";
    }
    if((
    $month==6 && $day>21)||($month==7 && $day<24)) {
    $mysign = "cancer";
    }
    if((
    $month==7 && $day>23)||($month==8 && $day<24)) {
    $mysign = "leo";
    }
    if((
    $month==8 && $day>23)||($month==9 && $day<24)) {
    $mysign = "virgo";
    }
    if((
    $month==9 && $day>23)||($month==10 && $day<24)) {
    $mysign = "libra";
    }
    if((
    $month==10 && $day>23)||($month==11 && $day<23)) {
    $mysign = "scorpio";
    }
    if((
    $month==11 && $day>22)||($month==12 && $day<23)) {
    $mysign = "sagittarius";
    }
    if((
    $month==12 && $day>22)||($month==1 && $day<21)) {
    $mysign = "capricorn";
    }

    echo
    $mysign;
    ?>
    mi sa che ci vuole nel codice principale il tutto
    Ultima modifica di blackskyisback : 31-08-2020 alle ore 13.06.52

  6. #6
    darbula non è connesso AlterGuru 2500
    Data registrazione
    24-04-2011
    Messaggi
    2,894

    Predefinito

    funzioni/astro.php è nella web root o altrove?
    Inserisci error_reporting(-1); in cima al tuo script per notare gli errori.
    No ti occorre solamente la funzione getsign che ritorna lo zodiaco nel require mentre i due parametri day e month ovviamente li devi recuperare altrove e inserirli alla funzione getsign.

  7. #7
    blackskyisback non è connesso Utente attivo
    Data registrazione
    29-05-2012
    Messaggi
    452

    Predefinito

    Citazione Originalmente inviato da darbula Visualizza messaggio
    Prima del require
    Codice PHP:
    // QUI INSERISCI richiamo al CAMPO $row['birthday']; ('2020/05/31' è solo per test)
    $datanascita = '2020/05/31';

    // scorporo data in GIORNO e MESE
    $day = (int) date('j',strtotime($datanascita));
    $month = (int) date('n',strtotime($datanascita));
    funzioni/astro.php
    Codice PHP:
    <?php
    function getsign($day,$month) {
    if((
    $month==1 && $day>20)||($month==2 && $day<20)) {
    $mysign = "aquarius";
    }
    if((
    $month==2 && $day>18 )||($month==3 && $day<21)) {
    $mysign = "pisces";
    }
    if((
    $month==3 && $day>20)||($month==4 && $day<21)) {
    $mysign = "aries";
    }
    if((
    $month==4 && $day>20)||($month==5 && $day<22)) {
    $mysign = "taurus";
    }
    if((
    $month==5 && $day>21)||($month==6 && $day<22)) {
    $mysign = "gemini";
    }
    if((
    $month==6 && $day>21)||($month==7 && $day<24)) {
    $mysign = "cancer";
    }
    if((
    $month==7 && $day>23)||($month==8 && $day<24)) {
    $mysign = "leo";
    }
    if((
    $month==8 && $day>23)||($month==9 && $day<24)) {
    $mysign = "virgo";
    }
    if((
    $month==9 && $day>23)||($month==10 && $day<24)) {
    $mysign = "libra";
    }
    if((
    $month==10 && $day>23)||($month==11 && $day<23)) {
    $mysign = "scorpio";
    }
    if((
    $month==11 && $day>22)||($month==12 && $day<23)) {
    $mysign = "sagittarius";
    }
    if((
    $month==12 && $day>22)||($month==1 && $day<21)) {
    $mysign = "capricorn";
    }
    return
    $mysign;
    }

    ?>
    dopo il require
    Codice PHP:
    <?php
    print_r
    (getsign($day, $month));

    ?>
    La funzione date si basa sull'impostazione locale del proprio timezone.

    ciao darbula

    mi ritorna due risultati pero'

    cancer virgo


    Codice PHP:

    <?php
    // QUI INSERISCI richiamo al CAMPO $row['birthday']; ('2020/05/31' è solo per test)
    $datanascita = $row['birthday'];

    // scorporo data in GIORNO e MESE
    $day = (int) date('j',strtotime($datanascita));
    $month = (int) date('n',strtotime($datanascita));

    ?>

    <?php
    require_once ("../funzioni/astro.php");

    ?>


    <?php
    print_r
    (getsign($day, $month));

    ?>

  8. #8
    darbula non è connesso AlterGuru 2500
    Data registrazione
    24-04-2011
    Messaggi
    2,894

    Predefinito

    Se in astro.php c'è echo ovviamente ti mostra due volte se invece c'è return ritorna il valore ma lo stampa solamente print_r o echo etc..

  9. #9
    blackskyisback non è connesso Utente attivo
    Data registrazione
    29-05-2012
    Messaggi
    452

    Predefinito

    tutto lavora in localhost

    quello che non capisco perche' il risultato sono 2 valori diversi

    cancer virgo
    quello giusto e' Virgo
    Ultima modifica di blackskyisback : 31-08-2020 alle ore 13.33.18

  10. #10
    darbula non è connesso AlterGuru 2500
    Data registrazione
    24-04-2011
    Messaggi
    2,894

    Predefinito

    Prova creando $day e $month prima di print_r sospetto sei dentro un ciclo ed hai $day e $month definito in modo diverso.
    Dopo il require
    Codice PHP:
    // QUI INSERISCI richiamo al CAMPO $row['birthday']; ('2020/05/31' è solo per test)
    $datanascita = $row['birthday'];

    // scorporo data in GIORNO e MESE
    $day = (int) date('j',strtotime($datanascita));
    $month = (int) date('n',strtotime($datanascita));
    print_r(getsign($day, $month));
    Ultima modifica di darbula : 31-08-2020 alle ore 13.43.52

  11. #11
    blackskyisback non è connesso Utente attivo
    Data registrazione
    29-05-2012
    Messaggi
    452

    Predefinito

    niente non funziona bene, stesso risultato doppio

    il codice postato da gattino1313 funziona invece benissimo

    solo che io volevo richiamare la funzione esterna

  12. #12
    darbula non è connesso AlterGuru 2500
    Data registrazione
    24-04-2011
    Messaggi
    2,894

    Predefinito

    Puoi provare sostituendo print_r con var_dump(getsign($day, $month), $day, $month);
    Stampa il risultato qui sul forum.
    Stai utilizzando una versione inferiore a php 7.0?

  13. #13
    blackskyisback non è connesso Utente attivo
    Data registrazione
    29-05-2012
    Messaggi
    452

    Predefinito

    si, uso php 5.6

    ecco il valore stampato

    cancer string(3) "leo" int(3) int(8)
    quello esatto pero' e' leo

    riporto il codice che sto usando adesso

    Codice PHP:

    <?php
    require_once ("../funzioni/astro.php");

    ?>

    <?php


    // QUI INSERISCI richiamo al CAMPO $row['birthday']; ('2020/05/31' è solo per test)
    $datanascita = $row['birthday'];

    // scorporo data in GIORNO e MESE
    $day = (int) date('j',strtotime($datanascita));
    $month = (int) date('n',strtotime($datanascita));
    var_dump(getsign($day, $month), $day, $month);
    ?>

    FUNZIONE astro.php

    Codice PHP:

    <?php
    function getsign($day,$month) {
    if((
    $month==1 && $day>20)||($month==2 && $day<20)) {
    $mysign = "aquarius";
    }
    if((
    $month==2 && $day>18 )||($month==3 && $day<21)) {
    $mysign = "pisces";
    }
    if((
    $month==3 && $day>20)||($month==4 && $day<21)) {
    $mysign = "aries";
    }
    if((
    $month==4 && $day>20)||($month==5 && $day<22)) {
    $mysign = "taurus";
    }
    if((
    $month==5 && $day>21)||($month==6 && $day<22)) {
    $mysign = "gemini";
    }
    if((
    $month==6 && $day>21)||($month==7 && $day<24)) {
    $mysign = "cancer";
    }
    if((
    $month==7 && $day>23)||($month==8 && $day<24)) {
    $mysign = "leo";
    }
    if((
    $month==8 && $day>23)||($month==9 && $day<24)) {
    $mysign = "virgo";
    }
    if((
    $month==9 && $day>23)||($month==10 && $day<24)) {
    $mysign = "libra";
    }
    if((
    $month==10 && $day>23)||($month==11 && $day<23)) {
    $mysign = "scorpio";
    }
    if((
    $month==11 && $day>22)||($month==12 && $day<23)) {
    $mysign = "sagittarius";
    }
    if((
    $month==12 && $day>22)||($month==1 && $day<21)) {
    $mysign = "capricorn";
    }
    return
    $mysign;
    }

    ?>

  14. #14
    darbula non è connesso AlterGuru 2500
    Data registrazione
    24-04-2011
    Messaggi
    2,894

    Predefinito

    Cambia il nome della funzione getsign in getsign2 sia in astro.php che nel var_dump forse stavolta riusciamo a capire.
    Se mostra un unico risultato vuol dire stai utilizzando il codice anche altrove quando usi getsign.
    Ultima modifica di darbula : 31-08-2020 alle ore 14.46.33

  15. #15
    blackskyisback non è connesso Utente attivo
    Data registrazione
    29-05-2012
    Messaggi
    452

    Predefinito

    cambiato e ricevo errore

    Codice PHP:
    function getsign2($day,$month) {
    Codice PHP:
    var_dump(getsign2($day, $month), $day, $month);
    cancer
    Fatal error: Call to undefined function getsign2() in E:\OpenServer\domains\localhost\cinema\members\cin ema.php on line 886
    comunque non e' questo il problema,
    la stringa getsign e' presente solo 1 occorrenza in entrambi i codici
    non ci sono altre

  16. #16
    blackskyisback non è connesso Utente attivo
    Data registrazione
    29-05-2012
    Messaggi
    452

    Predefinito

    non so se puo' essere utile ma il campo birthday e' di tipo date
    visualizzato cosi

    1985-08-31

    Anno- Mese-Giorno

  17. #17
    darbula non è connesso AlterGuru 2500
    Data registrazione
    24-04-2011
    Messaggi
    2,894

    Predefinito

    Fai come ti indico poi quando avrai studiato per anni sarà accettato il tuo pensiero.
    Anche se uso parole forti e per velocizzare al massimo la risoluzione del tuo problema.
    astro.php
    Codice PHP:
    <?php
    function getsign2($day,$month) {
    if((
    $month==1 && $day>20)||($month==2 && $day<20)) {
    $mysign = "aquarius";
    }
    if((
    $month==2 && $day>18 )||($month==3 && $day<21)) {
    $mysign = "pisces";
    }
    if((
    $month==3 && $day>20)||($month==4 && $day<21)) {
    $mysign = "aries";
    }
    if((
    $month==4 && $day>20)||($month==5 && $day<22)) {
    $mysign = "taurus";
    }
    if((
    $month==5 && $day>21)||($month==6 && $day<22)) {
    $mysign = "gemini";
    }
    if((
    $month==6 && $day>21)||($month==7 && $day<24)) {
    $mysign = "cancer";
    }
    if((
    $month==7 && $day>23)||($month==8 && $day<24)) {
    $mysign = "leo";
    }
    if((
    $month==8 && $day>23)||($month==9 && $day<24)) {
    $mysign = "virgo";
    }
    if((
    $month==9 && $day>23)||($month==10 && $day<24)) {
    $mysign = "libra";
    }
    if((
    $month==10 && $day>23)||($month==11 && $day<23)) {
    $mysign = "scorpio";
    }
    if((
    $month==11 && $day>22)||($month==12 && $day<23)) {
    $mysign = "sagittarius";
    }
    if((
    $month==12 && $day>22)||($month==1 && $day<21)) {
    $mysign = "capricorn";
    }
    return
    $mysign;
    }

    ?>
    Dopo astro.php
    Codice PHP:
    //row['birthday']; ('2020/05/31' è solo per test)
    $datanascita = '2020/05/31';

    // scorporo data in GIORNO e MESE
    $day = (int) date('j',strtotime($datanascita));
    $month = (int) date('n',strtotime($datanascita));
    var_dump(getsign2($day, $month), $day, $month);
    Se visualizzi cancer significa stai usando lo zodiaco da qualche altra parte.
    Ultima modifica di darbula : 31-08-2020 alle ore 15.43.38

  18. #18
    blackskyisback non è connesso Utente attivo
    Data registrazione
    29-05-2012
    Messaggi
    452

    Predefinito

    come sopra, sempre uguale ,lo riposto, il risultato e' questo

    cancer
    Fatal error: Call to undefined function getsign2() in E:\OpenServer\domains\localhost\cinema\members\cin ema.php on line 886
    ho fatto un test con notepad++ (il mio editor) e ho scoperto

    $datanascita = 14 occorrenze trovate nel codice

    @day = 45 occorrenze trovate nel codice

    @month = 4 occorrenze trovate nel codice

    quindi?

  19. #19
    GraphOGLRisorse non è connesso AlterGuru 2500
    Data registrazione
    14-02-2015
    Messaggi
    3,980

    Predefinito

    Salve,
    Quel messaggio dice semplicemnte che non è definita la funzione getsign2() nella pagina indicata.

    E' sicuro di avere nella pagina la funzione?

    Il fatto che con notepad++,che conosco e uso, le da 4 ccorenza per month, incìdica che le manca qualcosa. Solo nella funzione getsign2(), le occorenze per month, sono 25.

    Ha riportato male lei il nome della pagina nel messaggio di errore o la pagina ha il nome con lo spazio?

    Ho fatto più prove con la funzione e il risultato mi viene sempre giusto.

    Cordiali saluti.
    Ultima modifica di GraphOGLRisorse : 31-08-2020 alle ore 17.39.45

  20. #20
    darbula non è connesso AlterGuru 2500
    Data registrazione
    24-04-2011
    Messaggi
    2,894

    Predefinito

    Quell'errore significa che per qualche motivo il require_once non funziona.
    Poiché stai mostrando solo una minima parte del codice puoi solamente tu apportare le dovute modifiche poiché io o altri programmatori sono ignari dell'intero codice del tuo applicativo.
    Di nuovo usa error_reporting(-1); prima del require_once ("../funzioni/astro.php") i due punti indicano la cartella precedente (padre) puoi chiamare il percorso http://localhost/cinema/funzioni/astro.php
    con inizialmente tale codice? echo dirname(__FILE__);
    Comunque se in stampa vedi cancer senza usare la funzione getsign2 significa che stai già utilizzando il codice dello zodiaco in tale pagina.
    Ultima modifica di darbula : 31-08-2020 alle ore 17.47.25

  21. #21
    blackskyisback non è connesso Utente attivo
    Data registrazione
    29-05-2012
    Messaggi
    452

    Predefinito

    Caspita avete ragione, errore mio, si vede che la vecchiaia fa' brutti scherzi

    Avevo il file astro.php aperto in Notepad++ nel percorso principale nella cartella (dove si trova index)

    quello che doveva aprire la funzione invece era qui


    Codice PHP:
    <?php
    require_once ("../funzioni/astro.php");

    ?>
    quindi io modificavo sempre quello sbagliato

    adesso funziona

    Grazie a tutti

    ps: devo controllare le date, sembrano sbagliate
    Ultima modifica di blackskyisback : 31-08-2020 alle ore 18.06.58

  22. #22
    darbula non è connesso AlterGuru 2500
    Data registrazione
    24-04-2011
    Messaggi
    2,894

    Predefinito

    Beh se usi Europe/Moscow è normale la data è in UTC (per lo meno spero che le hai memorizzate dentro al database in UTC anche se varchar).
    Ok usa l'oggetto datetime con timezone UTC (Se non riesci te lo scrivo io dopo la tua prova).

  23. #23
    blackskyisback non è connesso Utente attivo
    Data registrazione
    29-05-2012
    Messaggi
    452

    Predefinito

    mi riferivo a quelle dei mesi, non corrispondono con quelle del codice

    Codice PHP:

    <?php // visualizza i segni zodiaci in base al calcolo del mese sul campo birthday

    ///La sequenza

    //La sequenza nasce dall'intersezione tra i 4 elementi e i 3 tipi, esaurendo in particolare ogni possibile combinazione.
    // Segno Durata
    // Aries - Ariete 21 marzo-20 aprile
    // Taurus - Toro 21 aprile-20 maggio
    // Gemini - Gemelli 21 maggio-21 giugno
    // Cancer - Cancro 22 giugno-22 Luglio
    // Lion - Leone 23 luglio-23 agosto
    // Virgo - Vergine 24 agosto-22 settembre
    // Libra - Bilancia 23 settembre-22 ottobre
    // Scorpio- Scorpione 23 ottobre-22 novembre
    // Sagittarius - Sagittario 23 novembre-21 dicembre
    // Capricorn - Capricorno 22 dicembre-20 gennaio
    // Aquario - Aquarius 21 gennaio-19 febbraio
    // Pisces - Pesci 20 febbraio-20 marzo

    function getsign($day,$month) {

    // Aquario - Aquarius 21 gennaio-19 febbraio
    if(($month==1 && $day>21)||($month==2 && $day<19)) {
    $mysign = "aquarius";
    }
    // Pisces - Pesci 20 febbraio-20 marzo
    if(($month==2 && $day>18 )||($month==3 && $day<21)) {
    $mysign = "pisces";
    }
    // Aries - Ariete 21 marzo-20 aprile
    if(($month==3 && $day>21)||($month==4 && $day<20)) {
    $mysign = "Aries";
    }
    // Taurus - Toro 21 aprile-20 maggio
    if(($month==4 && $day>20)||($month==5 && $day<22)) {
    $mysign = "taurus";
    }
    // Gemini - Gemelli 21 maggio-21 giugno
    if(($month==5 && $day>21)||($month==6 && $day<21)) {
    $mysign = "Gemini". '&nbsp;&nbsp;'
    . '<img src="http://forum.it.altervista.org/image_upload/zodiac/Gemini1.png" width="15px" height="15px"></img>'
    . '&nbsp;&nbsp;' . '<img src="/image_upload/zodiac/Gemini2.png" width="20px" height="20px"></img>'
    ;
    }
    // Cancer - Cancro 22 giugno-22 Luglio
    if(($month==6 && $day>21)||($month==7 && $day<24)) {
    $mysign = "cancer";
    }
    // Lion - Leone 23 luglio-23 agosto
    if(($month==7 && $day>23)||($month==8 && $day<24)) {
    $mysign = "leo";
    }
    // Virgo - Vergine 24 agosto-22 settembre
    if(($month==8 && $day>23)||($month==9 && $day<24)) {
    $mysign = "Virgo" . '&nbsp;&nbsp;' . '<img src="/image_upload/zodiac/Virgo1.png" width="15px" height="15px"></img>'
    . '&nbsp;&nbsp;' . '<img src="/image_upload/zodiac/Virgo2.png" width="15px" height="15px"></img>'
    ;
    }
    // Libra - Bilancia 23 settembre-22 ottobre
    if(($month==9 && $day>23)||($month==10 && $day<24)) {
    $mysign = "libra";
    }
    // Scorpio- Scorpione 23 ottobre-22 novembre
    if(($month==10 && $day>23)||($month==11 && $day<23)) {
    $mysign = "scorpio";
    }
    // Sagittarius - Sagittario 23 novembre-21 dicembre
    if(($month==11 && $day>22)||($month==12 && $day<23)) {
    $mysign = "Sagittarus" . '&nbsp;&nbsp;' . '<img src="/image_upload/zodiac/Sagittarus1.png" width="15px" height="15px"></img>'
    . '&nbsp;&nbsp;' . '<img src="/image_upload/zodiac/Sagittarus2.png" width="15px" height="15px"></img>'

    ;
    }
    // Capricorn - Capricorno 22 dicembre-20 gennaio
    if(($month==12 && $day>22)||($month==1 && $day<21)) {
    $mysign = "capricorn";
    }

    echo
    $mysign;

    }

    ?>
    sto aggiungendo anche le icone cosi e' piu' visibile





    darbula spiegami il fatto dell' UTC fer favore

    Grazie
    Ultima modifica di blackskyisback : 31-08-2020 alle ore 18.36.13

  24. #24
    blackskyisback non è connesso Utente attivo
    Data registrazione
    29-05-2012
    Messaggi
    452

    Predefinito

    Qualcosa non funziona, non viene visualizzato niente

    campo birthday 1998-12-22

    funzione astro.php

    Codice PHP:
    // Capricorn - Capricorno 22 dicembre-20 gennaio
    if(($month==12 && $day>22)||($month==1 && $day<20)) {
    $mysign = "capricorn";
    }

  25. #25
    GraphOGLRisorse non è connesso AlterGuru 2500
    Data registrazione
    14-02-2015
    Messaggi
    3,980

    Predefinito

    Cosa ha fatto, come prove e modifiche prima del problema?

    Può fornire maggiori dettagli?

    Cordiali saluti.

  26. #26
    blackskyisback non è connesso Utente attivo
    Data registrazione
    29-05-2012
    Messaggi
    452

    Predefinito

    rimesso le date originali e adesso funziona, strano, quelle di Wikipedia perche' non vanno?
    Ultima modifica di blackskyisback : 31-08-2020 alle ore 19.21.50

  27. #27
    blackskyisback non è connesso Utente attivo
    Data registrazione
    29-05-2012
    Messaggi
    452

    Predefinito

    Questo e' il codice originale senza modifiche sulle date dei mesi

    questo funziona

    Codice PHP:

    <?php // visualizza i segni zodiaci in base al calcolo del mese sul campo birthday

    function getsign($day,$month) {
    if((
    $month==1 && $day>20)||($month==2 && $day<20)) {
    $mysign = "aquarius";
    }
    if((
    $month==2 && $day>18 )||($month==3 && $day<21)) {
    $mysign = "pisces";
    }
    if((
    $month==3 && $day>20)||($month==4 && $day<21)) {
    $mysign = "aries";
    }
    if((
    $month==4 && $day>20)||($month==5 && $day<22)) {
    $mysign = "taurus";
    }
    if((
    $month==5 && $day>21)||($month==6 && $day<22)) {
    $mysign = "gemini";
    }
    if((
    $month==6 && $day>21)||($month==7 && $day<24)) {
    $mysign = "cancer";
    }
    if((
    $month==7 && $day>23)||($month==8 && $day<24)) {
    $mysign = "leo";
    }
    if((
    $month==8 && $day>23)||($month==9 && $day<24)) {
    $mysign = "Virgo" . '&nbsp;&nbsp;' . '<img src="http://forum.it.altervista.org/image_upload/zodiac/Virgo1.png" width="15px" height="15px"></img>'
    . '&nbsp;&nbsp;' . '<img src="http://forum.it.altervista.org/image_upload/zodiac/Virgo2.png" width="15px" height="15px"></img>';
    }
    if((
    $month==9 && $day>23)||($month==10 && $day<24)) {
    $mysign = "libra";
    }
    if((
    $month==10 && $day>23)||($month==11 && $day<23)) {
    $mysign = "scorpio";
    }
    if((
    $month==11 && $day>22)||($month==12 && $day<23)) {
    $mysign = "Sagittarus" . '&nbsp;&nbsp;' . '<img src="http://forum.it.altervista.org/image_upload/zodiac/Sagittarius1.png" width="15px" height="15px"></img>'
    . '&nbsp;&nbsp;' . '<img src="http://forum.it.altervista.org/image_upload/zodiac/Sagittarius2.png" width="15px" height="15px"></img>';
    }
    if((
    $month==12 && $day>22)||($month==1 && $day<21)) {
    $mysign = "capricorn";
    }
    return
    $mysign;
    }

    ?>

    Questo e' l'altro codice con le date dei mesi prese da Wikipedia, ma sembra che non funziona su alcuni mesi

    Codice PHP:

    <?php // visualizza i segni zodiaci in base al calcolo del mese sul campo birthday

    ///La sequenza

    //La sequenza nasce dall'intersezione tra i 4 elementi e i 3 tipi, esaurendo in particolare ogni possibile combinazione.
    // Segno Durata
    // Aries - Ariete 21 marzo-20 aprile
    // Taurus - Toro 21 aprile-20 maggio
    // Gemini - Gemelli 21 maggio-21 giugno
    // Cancer - Cancro 22 giugno-22 Luglio
    // Lion - Leone 23 luglio-23 agosto
    // Virgo - Vergine 24 agosto-22 settembre
    // Libra - Bilancia 23 settembre-22 ottobre
    // Scorpio- Scorpione 23 ottobre-22 novembre
    // Sagittarius - Sagittario 23 novembre-21 dicembre
    // Capricorn - Capricorno 22 dicembre-20 gennaio
    // Aquario - Aquarius 21 gennaio-19 febbraio
    // Pisces - Pesci 20 febbraio-20 marzo

    function getsign($day,$month) {

    // Aquario - Aquarius 21 gennaio-19 febbraio
    if(($month==1 && $day>21)||($month==2 && $day<19)) {
    $mysign = "aquarius";
    }
    // Pisces - Pesci 20 febbraio-20 marzo
    if(($month==2 && $day>20 )||($month==3 && $day<20)) {
    $mysign = "pisces";
    }
    // Aries - Ariete 21 marzo-20 aprile
    if(($month==3 && $day>21)||($month==4 && $day<20)) {
    $mysign = "Aries";
    }
    // Taurus - Toro 21 aprile-20 maggio
    if(($month==4 && $day>21)||($month==5 && $day<20)) {
    $mysign = "taurus";
    }
    // Gemini - Gemelli 21 maggio-21 giugno
    if(($month==5 && $day>21)||($month==6 && $day<21)) {
    $mysign = "Gemini - Gemelli (21 maggio-21 giugno)". '&nbsp;&nbsp;'
    . '<img src="http://forum.it.altervista.org/image_upload/zodiac/Gemini1.png" width="15px" height="15px"></img>'
    . '&nbsp;&nbsp;' . '<img src="http://forum.it.altervista.org/image_upload/zodiac/Gemini2.png" width="20px" height="20px"></img>'
    ;
    }
    // Cancer - Cancro 22 giugno-22 Luglio
    if(($month==6 && $day>22)||($month==7 && $day<22)) {
    $mysign = "cancer";
    }
    // Lion - Leone 23 luglio-23 agosto
    if(($month==7 && $day>23)||($month==8 && $day<23)) {
    $mysign = "leo";
    }
    // Virgo - Vergine 24 agosto-22 settembre
    if(($month==8 && $day>24)||($month==9 && $day<22)) {
    $mysign = "Virgo" . '&nbsp;&nbsp;' . '<img src="http://forum.it.altervista.org/image_upload/zodiac/Virgo1.png" width="15px" height="15px"></img>'
    . '&nbsp;&nbsp;' . '<img src="http://forum.it.altervista.org/image_upload/zodiac/Virgo2.png" width="15px" height="15px"></img>';
    }
    // Libra - Bilancia 23 settembre-22 ottobre
    if(($month==9 && $day>23)||($month==10 && $day<22)) {
    $mysign = "libra";
    }
    // Scorpio- Scorpione 23 ottobre-22 novembre
    if(($month==10 && $day>23)||($month==11 && $day<22)) {
    $mysign = "scorpio";
    }
    // Sagittarius - Sagittario 23 novembre-21 dicembre
    if(($month==11 && $day>23)||($month==12 && $day<21)) {
    $mysign = "Sagittarus" . '&nbsp;&nbsp;' . '<img src="http://forum.it.altervista.org/image_upload/zodiac/Sagittarius1.png" width="15px" height="15px"></img>'
    . '&nbsp;&nbsp;' . '<img src="http://forum.it.altervista.org/image_upload/zodiac/Sagittarius2.png" width="15px" height="15px"></img>';
    }
    // Capricorn - Capricorno 22 dicembre-20 gennaio
    if(($month==12 && $day>22)||($month==1 && $day<20)) {
    $mysign = "capricorn";
    }

    return
    $mysign;

    }

    ?>
    Ultima modifica di blackskyisback : 31-08-2020 alle ore 20.22.54

  28. #28
    blackskyisback non è connesso Utente attivo
    Data registrazione
    29-05-2012
    Messaggi
    452

    Predefinito

    Qualcosa non torna

    Birthday

    1998-12-22

    risultato: Sagittarius - Sagittario (23 novembre-21 dicembre)

    Codice PHP:
    if(($month==11 && $day>22)||($month==12 && $day<23)) {
    $mysign = "Sagittarius";
    }
    dovrebbe essere

    Capricorn - Capricorno (22 dicembre-20 gennaio)

    Codice PHP:
    if(($month==12 && $day>22)||($month==1 && $day<21)) {
    $mysign = "capricorn";
    }
    Ultima modifica di blackskyisback : 31-08-2020 alle ore 20.22.41

  29. #29
    GraphOGLRisorse non è connesso AlterGuru 2500
    Data registrazione
    14-02-2015
    Messaggi
    3,980

    Predefinito

    Io ho fatto le prove con tutti e 2 in contemporanea con data di oggi, e indicano restituiscono entrambe lo stesso risultato.
    Codice:
    string(241) "Virgo" int(8) int(31)  getsign()
    
    string(5) "virgo" int(8) int(31)  getsign2()
    Cordiali saluti.
    Ultima modifica di GraphOGLRisorse : 31-08-2020 alle ore 19.43.43

  30. #30
    darbula non è connesso AlterGuru 2500
    Data registrazione
    24-04-2011
    Messaggi
    2,894

    Predefinito

    L'errore sta nella funzione date poiché stai usando Europe/Moscow che ha usato diversi offset nell'arco della propria esistenza, quindi quando traduci una stringa di data UTC in diverso da UTC può sorgere tale problema (sto parlando il recuperò di $day e $month con la funzione date).
    Codice PHP:
    $date = new DateTime('2000-01-01', new DateTimeZone('UTC'));
    $day = (int) $date->format('j');
    $month = (int) $date->format('n');
    Ultima modifica di darbula : 31-08-2020 alle ore 19.53.49

Pagina 1 di 2 12 UltimoUltimo

Tags for this Thread

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •