Envoyé par JWhite
Envoyé par JWhite
J'avais meme pas vu, quel idiot je suit, mais j'ai mis sa :
Et apparement sa marche, mais je test en ce moment...
Code : Sélectionner tout - Visualiser dans une fenêtre à part $result = mysql_query("SELECT pseudo,xp FROM membres WHERE online=UNIX_TIMESTAMP()<600");
C'est incroyable la perte de temps tout ça parce que toutes les réponses ne sont pas lues en entier... heureusement qu'on est vendredi et que les vacances arrivent![]()
![]()
![]()
![]()
Ta solution ne va pas, vu que ca affiche la date et l'heure.
Ce code là ne marche pas :Il faudrait un code qui dit que online doit etre entre UNIX_TIMESTAMP() et UNIX_TIMESTAMP()-600.
Code : Sélectionner tout - Visualiser dans une fenêtre à part $result = mysql_query("SELECT pseudo,xp FROM membres WHERE online=UNIX_TIMESTAMP()<600");
Alors, j'ai essayé sa :
Mais il ne fonctionne pas.
Code : Sélectionner tout - Visualiser dans une fenêtre à part $result = mysql_query("SELECT pseudo,xp FROM membres WHERE online=UNIX_TIMESTAMP() && UNIX_TIMESTAMP()-600");
Pouvez vous m'aider?
Tu es surpris que ça marche pas ? Essaie de comprendre la requête d'un point de vue SQL... Elle veut rien dire.
Essaie ça :
Code : Sélectionner tout - Visualiser dans une fenêtre à part $result = mysql_query("SELECT pseudo,xp FROM membres WHERE (UNIX_TIMESTAMP() - online) < 600");
bien sur que ça ne marche pas, tu as regardé attentivement ce que tu as mis ???Envoyé par kevinf
tu veux que le champs online soit égal à unix_timestamp() inférieur à 600 ça veut rien dire
Je viens de faire quelques tests, ca a l'air de marcher, merci.Envoyé par JWhite
Je souhaiterai un autre code, j'avais fais cela :Pour si, c'est inférieur à 1 ou égal il redirige, je voudrais la même chose mais si le UNIX_TIMESTAMP de online n'est plus dans les 10 minutes.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 <? //connexion a la base de donnée include"config.php"; include"include/variable.php"; $db = mysql_connect($serveur, $login, $password); mysql_select_db($base,$db); $sql = "select * from $table where email = '".$email."'"; $qry = mysql_query($sql); $datas = mysql_fetch_array($qry); if ($datas["online"] <=1 ) { header("Location: ../index.php"); } ?>
J'espère que vous m'avez compris.
Merci
je pense qu'avec ce que tu as déjà fait et le code que JWhite vient de te donner tu peux trouver tout seul
Oui c'est clair faut pas pousser mémé dans les orties non plus... Et puis si il faut encore 3 autres pages juste pour arriver à te faire penser à lire tous les messages en entier...
je suis d'accord
et MSB champions !!!!![]()
Le message que je n'ai pas vu, c'est parce que vous avez répondu en même temps, sinon merci pour votre aide, je vais essayer et si j'ai des soucis, je viendrais vous demandez secours![]()
Yes MSB powaaaaaaaEnvoyé par Shiva Skunk
Mauvaise réponse... Justement ce qui est très énervant c'est les gens qui ne lisent que le dernier message sans regarder le resteLe message que je n'ai pas vu, c'est parce que vous avez répondu en même temps![]()
Après quelque essai, j'obtient des erreur MYSQL.
Je vous explique ce que je voudrais: un code de ce style là :
Mais qui dit que si le champ online avec le UNIX_TIMESTAMP n'est pas dans les 10 dernières minutes alors redirection vers ../index.php
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 <? //connexion a la base de donnée include"config.php"; include"include/variable.php"; $db = mysql_connect($serveur, $login, $password); mysql_select_db($base,$db); $sql = "select * from $table where email = '".$email."'"; $qry = mysql_query($sql); $datas = mysql_fetch_array($qry); if ($datas["online"] <=1 ) { header("Location: ../index.php"); } ?>
Sinon, on met à jour le champ online.
Merci![]()
Et c'est quoi l'erreur![]()
Commence par faire ça :
Et explique en français ce que tu comptes faire parce que je sens qu'il y a encore anguille sous roche là...
Code : Sélectionner tout - Visualiser dans une fenêtre à part $qry = mysql_query($sql) or die(mysql_error());
L'erreur était avec le code que j'essayait de modifier, mais je n'ai rien gardé vu que rien ne marchait.
Et ce que je voudrais c'est un code qui vérifie le champ online (unix_timestamp) qu'il est bien inférieur à 10 minutes (600) sinon, alors redirection vers ../index.php si c'est bon, on met à jour le champ online avec unix_timestamp.
J'avais pourtant bien précisé en françaisle champ online (unix_timestamp) qu'il est bien inférieur à 10 minutes (600) sinon, alors redirection vers ../index.php si c'est bon, on met à jour le champ online avec unix_timestamp.![]()
Si la date de dernière activité de l'utilisateur a moins de 10 minutes tu l'envoies vers la page index.
Si cette date est supérieure à 10 minutes tu la remets à jour (et après ?).
C'est ça![]()
C'est exactement l'inverse![]()
En fait, c'est :
C'est toutSi la date de dernière activité de l'utilisateur a moins de 10 minutes tu la remets à jour .
Si cette date est supérieure à 10 minutes tu l'envoies vers la page index.![]()
Mais il y a un problème, quand l'utilisateur n'a pas eu d'activité depuis plus de 10 minutes alors sa date de dernière activité n'est jamais remise à jour... A moins que dans ta page index tu fasses la mise à jour![]()
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager