Visualizzazione dei risultati da 1 a 2 su 2

Discussione: Aiuto per controllo

  1. #1

    Aiuto per controllo

    Buon pomeriggio, scusate il titolo.
    Allora eseguo un controllo sulla differenza di date in questo modo:
    Codice PHP:
    if(datediff("G"$ggMesePrecedente."/".(date('m')-1)."/".date('Y'), date('01/m/Y'))>=0){
    //eseguo un update

    Come potrete ben capire, finchè la condizione sarà >= di zero, ogni qualvolta accederò alla pagina dov'è presente questo controllo l'update verrà eseguita..
    La pagina in questione è per l'autenticazione.
    QUindi ogni qualvolta durante la giornata l'utente viene buttato fuori perchè la sessione è scaduta, dovrà autenticarsi di nuovo e di nuovo lo script verrà eseguito..

    Domanda: come posso aggirare questo controllo oppure eseguirlo una sola volta?
    Grazie

  2. #2
    allora ragazzi, una cortesia perché sono in difficoltà.
    Utilizzo questa funzione per il calcolo dei giorni,settimane,mesi e anni:
    Codice PHP:
    function datediff($tipo$partenza$fine)
    {
        switch (
    $tipo)
        {
            case 
    "A" $tipo 365;//anni
            
    break;
            case 
    "M" $tipo = (365 12);//mesi
            
    break;
            case 
    "S" $tipo = (365 52);//settimane
            
    break;
            case 
    "G" $tipo 1;//giorni
            
    break;
        }
        
    $arr_partenza explode("/"$partenza);
        
    $partenza_gg $arr_partenza[0];
        @
    $partenza_mm $arr_partenza[1];
        @
    $partenza_aa $arr_partenza[2];
        
    $arr_fine explode("/"$fine);
        
    $fine_gg $arr_fine[0];
        @
    $fine_mm $arr_fine[1];
        @
    $fine_aa $arr_fine[2];
        @
    $date_diff mktime(1200$fine_mm$fine_gg$fine_aa) - mktime(1200$partenza_mm$partenza_gg$partenza_aa);
        
    $date_diff  floor(($date_diff 60 60 24) / $tipo);
        return 
    $date_diff;

    eseguendo una echo di questa operazione:
    Codice PHP:
    echo datediff("S"date("03/10/2012"), date("31/10/2012"));
    //ris: 3 settimane alla fine del mese invece che 4

    echo datediff("S"date("10/10/2012"), date("31/10/2012"));
    //ris:2 settimane alla fine del mese invece che 3 
    Domanda: perchè mi restituisce le settimane falsate di una?
    grazie

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.