Gestion de dates SQL

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Gestion de dates SQL

Re: Gestion de dates SQL

par Ryle » 12 févr. 2021, 17:02

Salutations !

Si tu veux juste tester si ton code fonctionne, tu peux aussi modifier cette ligne et mettre un coefficient différent :
$nombreJour = $_POST['number']*365;
Si au lieu de 365 tu mets la valeur 1 ou 10, tu peux tester et vérifier que ton script supprime bien les utilisateurs qui ne se sont pas connectés depuis 1, 2, 3, ... 10, 20 ou 30 jours...

Si ça fonctionne avec *1, ça fonctionnera aussi avec *365 ;)

(évite de tester sur ta base de production par contre ;))

Re: Gestion de dates SQL

par remilami » 29 janv. 2021, 19:10

il est toujours possible pour vérifier, dans phpmyadmin, d’exécuter :
select pseudo, derniere_connexion, DATEDIFF (CURDATE(),derniere_connexion) as nb FROM membre WHERE DATEDIFF (CURDATE(),derniere_connexion) > 10
Ah oui le select pas bête mais bon je n'ai pas encore d'utilisateurs qui ne sont pas connectés depuis au moins 1ans donc difficile a tester je vais laisser comme ca vu que je n'en ai pas besoin de suite...

Re: Gestion de dates SQL

par or 1 » 28 janv. 2021, 21:59

il est toujours possible pour vérifier, dans phpmyadmin, d’exécuter :
select pseudo, derniere_connexion, DATEDIFF (CURDATE(),derniere_connexion) as nb FROM membre WHERE DATEDIFF (CURDATE(),derniere_connexion) > 10

Gestion de dates SQL

par remilami » 28 janv. 2021, 21:48

Bonjour je ne peux pas tester une partie de mon programme ou du moins je ne sais pas comment le faire vu que les date dans ma base de donnée sql s'implémente seule et attendre une année est trop long.
Voici mon code php, la variable $_POST['number'] recoit un int et $_POST['surete'] est simplement une checkbox;
Je souhaite que les utilisateurs qui n'ont pas été connectés depuis plus de $_POST['number'] années soient supprimés:
Pouvez-vous me confirmer ou non que ceci fonctionne (la requête SQL) ? merci a vous.
#######Supprimer utilisateur non connectés########
if (!empty($_POST['number'])) {
    if (!empty($_POST['surete'])) {
        $nombreJour = $_POST['number']*365;
        $sql4 = 'DELETE FROM membre WHERE DATEDIFF (CURDATE(),derniere_connexion) > '.$nombreJour.'';
        $req4 = mysqli_query($connexion, $sql4) or die('Erreur SQL !<br />' . $sql4 . '<br />' . mysqli_error($connexion));
        //header('location: gestionMembre.php');
    }
    else {
        $erreur = "La case de sureté n\'est pas cochée !";
        $_SESSION['erreur'] = $erreur;
        header('location: gestionMembre.php');
    }
}
Image

Image