Index du forum »»  Bugs, Probs ... »» Date de connexion et suppression de compte

Modérateur(s)developpeurjpbJireck

Poster une réponse dans le sujet

A propos des messages publiés :
Les utilisateurs anonymes peuvent poster de nouveaux sujets et des réponses dans ce forum.

 

Aperçu des sujets :

Jireck Jireck
Posté : 07-12-2015 09:37
il y a plusieurs facons d'implementer ce code ...

Ensuite la variable $mai permet d'envoyer un mmail apres X jours sans connection au utilisateur
et la variable nb_del (j'ai oublier le $ ) va supprimer le compte apres le nombre de jour sans connection

il peux etre copier coller dans modules/!include! fichier header_before.inc
Anonyme Anonyme
Posté : 25-08-2015 16:16
Bonjour,

SVP.... Serait il possible d'avoir des explications sur comment utiliser le code ci-dessus ?

Merci
Anonyme Anonyme
Posté : 18-08-2015 18:54
Citation : Jireck 

Quelque chose comme ca




    $mai = "60";  // Jour Mail
    nb_del = "70" // Jour supp 

    $datei = "d-m-Y";
    $now = date($datei,time() + ($gmt*3600));

    ///////////////////
    //debut delestage//
    ///////////////////

        /*Requete liste membre*/
        $sql = sql_query("SELECT 
                u.uid, u.uname, u.email, u.user_lastvisit 
            FROM  
                ".$NPDS_Prefix."users u, 
                ".$NPDS_Prefix."users_status us 
            WHERE 
                us.uid = u.uid 
                AND u.uid != '1' 
                AND us.open = '1'");
        while (list($uid, $uname, $email, $user_lastvisit) = sql_fetch_row($sql))
        {

        $difference = time() - $user_lastvisit - ($gmt*3600);

        $jour = floor($difference/86400);

        /*Envoie mail d avertissement*/
        if ($mai == $jour - 1)
            {

                global $sitename;

                $reg = array("%pseudo%", "%site%");
                $bonne   = array("$uname", "$sitename");
                 $message = str_replace($reg, $bonne, $msg);

                $titre = aff_langue(stripslashes($titre));
                $message = aff_langue(stripslashes(utf8_decode($message)));

                $subject = "$titre $uname";
                send_email($email, $subject, $message, "", true, "html");

            }
            else if ($nb_del < $jour)
            {

                /*DEL table users++ REQUETE A FAIRE*/
                $query1 = "DELETE FROM ".$NPDS_Prefix."users  WHERE uid = $uid";
                

        }

    }



A verifier ....

Il y a surement des erreurs mais c'est un peu le chemin...
il faut arpenter maintenant
 


Bonjour,

Merci Jireck mais il faut faire quoi de ce code ?
:#

Jireck Jireck
Posté : 03-07-2015 10:40
Quelque chose comme ca




    $mai = "60";  // Jour Mail
    nb_del = "70" // Jour supp 

    $datei = "d-m-Y";
    $now = date($datei,time() + ($gmt*3600));

    ///////////////////
    //debut delestage//
    ///////////////////

        /*Requete liste membre*/
        $sql = sql_query("SELECT 
                u.uid, u.uname, u.email, u.user_lastvisit 
            FROM  
                ".$NPDS_Prefix."users u, 
                ".$NPDS_Prefix."users_status us 
            WHERE 
                us.uid = u.uid 
                AND u.uid != '1' 
                AND us.open = '1'");
        while (list($uid, $uname, $email, $user_lastvisit) = sql_fetch_row($sql))
        {

        $difference = time() - $user_lastvisit - ($gmt*3600);

        $jour = floor($difference/86400);

        /*Envoie mail d avertissement*/
        if ($mai == $jour - 1)
            {

                global $sitename;

                $reg = array("%pseudo%", "%site%");
                $bonne   = array("$uname", "$sitename");
                 $message = str_replace($reg, $bonne, $msg);

                $titre = aff_langue(stripslashes($titre));
                $message = aff_langue(stripslashes(utf8_decode($message)));

                $subject = "$titre $uname";
                send_email($email, $subject, $message, "", true, "html");

            }
            else if ($nb_del < $jour)
            {

                /*DEL table users++ REQUETE A FAIRE*/
                $query1 = "DELETE FROM ".$NPDS_Prefix."users  WHERE uid = $uid";
                

        }

    }



A verifier ....

Il y a surement des erreurs mais c'est un peu le chemin...
il faut arpenter maintenant
Danyx Danyx
Posté : 10-06-2015 13:14
jpb, je n'ai pas compris ce que je fais de ta requete.... :#
jpb jpb
Posté : 09-06-2015 23:02
en francais et juste pour la logique...

if(date courante -last visit)>(60*60*24*180) requete de suppression;
bartok bartok
Posté : 09-06-2015 21:58
ce n'est pas de la date de création de votre site qu'il s'agit mais du 1er janvier 1970, soit effectivement 45 ans, 5 mois, 9 jours, 21 heures et 59 minutes (heure locale). je vous fais grâce des secondes: ça change tout le temps...
Danyx Danyx
Posté : 09-06-2015 20:26
Heu non cela ne vas pas, dans ce champs je suis indiqué avec un chiffre de 1433827066, si je divise avec le tiens 31.536.000 cela voudrait dire que mon site existe depuis 45ans! hors il à 1ans1/2 d'existance!
bartok bartok
Posté : 09-06-2015 13:44
pour la première partie de la question, "Pouvez pas faire plus simple?" ; "a l'époque de l'informatique il y a mieux..." je ne suis pas habilité à répondre car je ne suis qu'un humble utilisateur du CCMS, tout comme vous.

pour la seconde, le test d'infériorité sur le contenu de user_lastvisit est tout à fait possible et simple puisqu'il s'agit d'une valeur numérique entière. Pour mémoire, une année non bissextiile compte tout juste 31.536.000 secondes!

l'équipe de développement qui vient de s'étoffer devrait pouvoir vous en dire plus même si elle semble accaparée en ce moment par la continuité du développement, en particularité par l'adaptation aux nouvelles contraintes d'ergonomie.

A nouveau, bon courage.

Message édité par : bartok / 09-06-2015 13:48

Danyx Danyx
Posté : 09-06-2015 10:08

calcule une date exprimée en secondes depuis le "big bang" d'Unix


Pouvez pas faire plus simple? :paf :paf :paf
Donc en résumé il y a deux solutions, soit ajouter une colonne date de visite, la je ne sais pas encore faire. Je vais me pencher sur ce problème mais si quelqu'un sait ce serait sympa.
Soit de noter le chiffre tout les début de mois ce qui donne un point de repaire.
Mais à l'époque de l'informatique il y a mieux!
Ainsi par exemple si 1333827066 représente le 31 Décembre 2015, on sait que tout les membres ayant un chiffre user_lastvisit plus petit ne sont pas venue aprés le 31 Décembre 2015.
Je me trompe ou pas?

Message édité par : Danyx / 09-06-2015 20:15