pardon, PmyA == PhpMyAdmin
l'enregistrement, l'enregistrement... mais le commentateur n'est pas tout seul à écrire un commentaire sur l'article quand même !
pardon, PmyA == PhpMyAdmin
l'enregistrement, l'enregistrement... mais le commentateur n'est pas tout seul à écrire un commentaire sur l'article quand même !
Bah non, mais de toute façon je sélectionne toutes les IP qui datent de moins de 30 secondes.
Bon
Je les compare avec l'IP actuel.
Bon
Si y'en a une ça inscrit "attends".
Bon
Si y'en a pas ça devrait inscrire "bon" (et dans la pratique insérer dans la BD).
Bon
Mais là le "bon" ne s'affiche pas , seulement le "attends".
Pas bon.
J'ai foiré quoi ? la logique, la syntaxe ? Je suis entrain de regarder les comparatifs d'égalité dans les requetes sql.
C'est vrai qu'à ce niveau on est pas obligé de parler performances, mais il est quand meme plus sage de donné le boulot à mysql, il est fait pour ça.
Du coup tu n'as plus qu'à tester une chose : le nombre de ligne retournées.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 SELECT ip FROM commentaire WHERE ip = $ip AND date > $dateNv
si 0 => le posteur n'a pas posté de commentaires
sinon => le posteur a posté un commentaire il y a moins de 30 secondes
Je trouve ce raisonnement plus naturel et surtout plus simple non ?
Moi je propose ca :SELECT ip FROM commentaire WHERE dateNombre > '".$dateNv."' LIMIT 0,1 "
GGRRRIIILLLEEEDDD
Code : Sélectionner tout - Visualiser dans une fenêtre à part SELECT ip FROM commentaire WHERE dateNombre > '".$dateNv."' AND ip = $ip
Oui mais ça ne change pas grand chose vos requêtes, il me semble (modestement).
Vous rajoutez juste un comparatif d'égalité entre IP. Bon mais là c'est pas la question on a juste une IP dans la table pour le test et il faut que si elle date de plus de 30 secondes, s'affiche "bon".
Mais ça s'affiche même pas.
Y'a de quoi se jeter quand même, c'est pas compliqué d'écrire un mot si il n'y a pas d'enregistrement correspondant à un SELECT.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 $ip = $_SERVER["REMOTE_ADDR"] $dateNv = time()-30; $sql = "SELECT ip FROM commentaire WHERE ip = $ip AND date > $dateNv"; $req = mysql_query($sql) or die (mysql_error()); if (mysql_num_rows($req) > 0) { echo "Flooder !"; } else { echo "C'est bon !"; }
Ah ouais,
Mais en fait je le savais, c'était pour vérifier le niveau du forum.
Qu'est ce que vous avez à me regarder comme ça?
C'est vrai hein !
Bon blague à part, à force de faire que des whiles pour récupérer les résultats, je ne me souvenais même plus que l'on pouvait faire autre chose.
mysql_num_rows, on s'en sert pour quoi en général ?
Autre question, pour situer les niveaux, vous programmez depuis combien de temps? Avec quels niveaux ? En tant qu'amateurs ou professionnels ?
Merci en tout cas (5 heure pour ça, je vais allez me raser moi...)
Bon je marque [Résolu],
Encore merci les gars !
Verdict ?Envoyé par psychoBob
alors si je fais un explode de la chaine "mysql_num_rows" sur le caractères '_', j'obtients trois bout :Envoyé par psychoBob
1. mysql
2. num
3. rows
en français dans le texte je dirais au pif :
1. mysql
2. nombre
3. lignes
toutes les fonctions propres à mysql commencent par... mysql donc le premier bout c'est bon. Ensuite c'est un peu plus dur pour les deux autres, je propose "nombre de lignes" ?
Oui mais nombre de lignes de quoi tu vas me dire...
Et bien le nombre de ligne du resultat de la requete que tu passe en argument pardi.
Je pense que http://php.net/mysql_num_rows sera plus pédagogue que moi![]()
Réponse très claire !![]()
Pour ce qui est du verdict, ma foi, on peut pas se plaindre, vous m'avez fait languir un peu, mais c'est le résultat qui compte![]()
Ben j'ai essaye de ne pas te donner le code tout fait dès le début, il n'y a rien de telle que la reflexion personnelle...
Oui j'avais compris, merci![]()
Le stress c'est que l'on ne sait pas si à la fin, tu vas le donner le code...
TIens j'en profites avec une dernière question : Un intervale de 30 secondes est-il convenable ou bien puis-je indiquer 10 sec par exemple?
Aussi est-il prudent d'indiquer "veuillez patienter x sec avant de poster à nouveau ?"
Ben l'idéal, c'est quand même qu'on n'ai pas à le donner ce code, que tu trouves toi même la solution. C'est pourquoi cette résolution est un echec pour moi, j'ai été mauvais professeur... Je m'en vais en vacances le coeur las et les pensées tournées vers le petit papa nouel et les préparatifs qui m'appellent.Envoyé par psychoBob
Je ne sais pas, je n'ai malheureusement que peut de notions en ergonomieUn intervale de 30 secondes est-il convenable ou bien puis-je indiquer 10 sec par exemple?
Aussi est-il prudent d'indiquer "veuillez patienter x sec avant de poster à nouveau ?"![]()
Envoyé par psychoBob
T'as raison, va te raser, manger un bout, dormir et faire tout ce que tu peux pour te rafraichier les idées....Y'a de quoi se jeter quand même, c'est pas compliqué d'écrire un mot si il n'y a pas d'enregistrement correspondant à un SELECT.
On te file la requete complète et encore, tu rales!!![]()
![]()
![]()
![]()
Non mais sans blague, meeeeeeeeeeerrrrrddddddeeee.....
Et bien le sens de la communication étant dans la réponse qu'elle déclenche, je dois être un mauvais élève.Ben l'idéal, c'est quand même qu'on n'ai pas à le donner ce code, que tu trouves toi même la solution. C'est pourquoi cette résolution est un echec pour moi, j'ai été mauvais professeur... Je m'en vais en vacances le coeur las et les pensées tournées vers le petit papa nouel et les préparatifs qui m'appellent.
Je me penchais du côté du flooder en fait? Quel interval est suffisant pour le gêner?Un intervale de 30 secondes est-il convenable ou bien puis-je indiquer 10 sec par exemple?
Aussi est-il prudent d'indiquer "veuillez patienter x sec avant de poster à nouveau ?"
Je ne sais pas, je n'ai malheureusement que peut de notions en ergonomie
2 jours...
Tout dépend de ce que tu appelles "flooder"
Julien.alkaza a écrit :
Toi si Mr N avait pas trouvé la solution, tu aurais posté ça sans les deux smileys avec le sourire.T'as raison, va te raser, manger un bout, dormir et faire tout ce que tu peux pour te rafraichier les idées....
On te file la requete complète et encore, tu rales!!![]()
![]()
![]()
![]()
Non mais sans blague, meeeeeeeeeeerrrrrddddddeeee.....
Non?
Je pensais au script qui vous remplit la base de donnée de je ne sais trop combien de tuples à la minute.2 jours...
Tout dépend de ce que tu appelles "flooder"
Par exemple sur ce forum, l'intervale semble être assez court, quelques secondes.
Lol.....
Oh, c'est être médisant que de dire ca.... hummmmm
Puis les deux petitssont ensuite désamorcés par les
![]()
Bref, problème résolu, lol....
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