Forums Webou.net - Hébergement gratuit et sans publicités avec PHP/MySQL Webou Webou Pro
Recherche avancée  
*
Bienvenue, Invité. Veuillez vous connecter ou vous inscrire.
Avez-vous perdu votre courriel d'activation?
23 Septembre 2019, 13:32:27


Connexion avec identifiant, mot de passe et durée de la session


Pages: [1] 2   Bas de page
  Imprimer  
Auteur Fil de discussion: question  (Lu 5711 fois)
0 Membres et 1 Invité sur ce fil de discussion.
nitro007
Invité
« le: 05 Novembre 2008, 02:58:13 »

Est-ce qu'il faut utiliser les cookies pour limiter le temps par exemple pour ne pas poster deux commentaires en lignes ?
Sinon quoi ?
Journalisée
Forums Webou.net - Hébergement gratuit et sans publicités avec PHP/MySQL
« le: 05 Novembre 2008, 02:58:13 »

 Journalisée
nitro007
Invité
« Répondre #1 le: 05 Novembre 2008, 14:35:52 »

up
Journalisée
chrmag
Bavard
***
Hors ligne Hors ligne

Messages: 131


Voir le profil WWW
« Répondre #2 le: 05 Novembre 2008, 17:11:22 »

Plustot les sessions ou tracker l'ip, car un cookie peut etre efface ou tout simplement ignore par le client (ce qui est aussi un peu le cas des sessions).
=> Je crois que la meilleure solution est de tracker l'ip.
Journalisée
nitro007
Invité
« Répondre #3 le: 05 Novembre 2008, 17:17:12 »

et comment limiter le temps tout en trackant lip ?
Journalisée
chrmag
Bavard
***
Hors ligne Hors ligne

Messages: 131


Voir le profil WWW
« Répondre #4 le: 05 Novembre 2008, 20:57:32 »

Tu enregistres dans une BD l'ip et la date du dernier post, ensuite avant d'ajouter ton topic, tu testes si la date correspondante a l'ip n'est pas "trop recente".
Journalisée
Forums Webou.net - Hébergement gratuit et sans publicités avec PHP/MySQL
« Répondre #4 le: 05 Novembre 2008, 20:57:32 »

 Journalisée
nitro007
Invité
« Répondre #5 le: 07 Novembre 2008, 01:11:24 »

J'utilie timestamp pour ca je pense ?
Et les champs de la base de donnée sont ip, timestamp ?
Journalisée
chrmag
Bavard
***
Hors ligne Hors ligne

Messages: 131


Voir le profil WWW
« Répondre #6 le: 07 Novembre 2008, 15:57:59 »

C'est une maniere de le faire.
Journalisée
clemgaut
Bavard
***
Hors ligne Hors ligne

Messages: 141


Voir le profil WWW
« Répondre #7 le: 07 Novembre 2008, 20:08:28 »

Je te conseil aussi de rajouté un champ pseudo où tu enregistres le pseudo car avec l'IP, la personne peut déposer un second commentaire depuis un autre ordinateur.
Journalisée

1 c'est bien, 2 c'est mieux Sourire
Site sur la TI-82
nitro007
Invité
« Répondre #8 le: 07 Novembre 2008, 22:19:03 »

Et comment limiter le temps avec le timestamp ? Indéci
merci de vos réponses !
Journalisée
clemgaut
Bavard
***
Hors ligne Hors ligne

Messages: 141


Voir le profil WWW
« Répondre #9 le: 08 Novembre 2008, 11:03:33 »

tu compares le timestamp actuel avec le timestamp BDD
Code:
<?php
session_start
();
$pseudo=$_SESSION['pseudo'];
$ip=$_SERVER['REMOTE_ADDR'];
$timestamp_actuel=time();
$requete_timestamp_bdd=mysql_query('SELECT timestamp FROM nom_table WHERE ip="'.$ip.'" AND pseudo="'.$pseudo.'"');
$timestamp_bdd=mysql_fetch_array($requete_timestamp_bdd);
$ecart_timestamp=$timestamp_actuel-$timestamp_bdd;
if(
$ecart_timestamp>24*3600)
{
//on enregistre le commentaire
}
else
{
echo 
'Vous avez déjà posté il y a moins de 24h.<br />';
}
Journalisée

1 c'est bien, 2 c'est mieux Sourire
Site sur la TI-82
nitro007
Invité
« Répondre #10 le: 08 Novembre 2008, 15:18:57 »

Le champ il il est en quoi ?
« Dernière édition: 08 Novembre 2008, 15:21:03 par nitro007 » Journalisée
clemgaut
Bavard
***
Hors ligne Hors ligne

Messages: 141


Voir le profil WWW
« Répondre #11 le: 08 Novembre 2008, 15:26:51 »

si les champs de ta table Tu as ip, timestamp et pseudo
Sinon ce sont quels champs ?
Journalisée

1 c'est bien, 2 c'est mieux Sourire
Site sur la TI-82
nitro007
Invité
« Répondre #12 le: 08 Novembre 2008, 21:42:04 »

erreur dans ton code:
Code:
<?php
mysql_connect
('''''');
mysql_select_db('k');
session_start();
$login=$_COOKIE['login'];
$vote $_POST['vote'];
$id_img $_POST['id_img'];
$ip=$_SERVER['REMOTE_ADDR'];
$timestamp_actuel=time();
$requete_timestamp_bdd=mysql_query('SELECT timestamp FROM vote WHERE ip="'.$ip.'" AND login="'.$login.'"');
$timestamp_bdd=mysql_fetch_array($requete_timestamp_bdd);
$ecart_timestamp=$timestamp_actuel-$timestamp_bdd;
if(
$ecart_timestamp>24*3600)
{
mysql_query("INSERT INTO vote(login, vote, timestamp, ip, id_img) VALUES('".$login."', '".$vote."', '".time()."', '".$ip."', '".$id_img."')") or exit (mysql_error());
}
else
{
echo 
'Vous avez déjà voté il y a moins de 24h.<br />';
}
?>

Fatal error: Unsupported operand types in /home/a3137732/public_html/voteok.php on line 19
« Dernière édition: 08 Novembre 2008, 23:19:37 par nitro007 » Journalisée
chrmag
Bavard
***
Hors ligne Hors ligne

Messages: 131


Voir le profil WWW
« Répondre #13 le: 09 Novembre 2008, 00:34:32 »

Je crois que juste avant le if, il faut ajouter une ligne:
Code:
<?php
$timestamp_bdd
=mysql_fetch_array($requete_timestamp_bdd);
$timestamp_bdd $timestamp_bdd[0]; //ligne ajoutee
$ecart_timestamp=$timestamp_actuel-$timestamp_bdd;
?>


Car a la derniere ligne on a besoin de deux nombres et pas un tableau, d'ou l'erreur.
Journalisée
nitro007
Invité
« Répondre #14 le: 09 Novembre 2008, 15:27:47 »

non c'est pas ca l'erreur, c'est la ligne $ecart..... il fallait remplacer $timestamp_bdd par $timestamp  Tire la langue
Journalisée
Pages: [1] 2   Haut de page
  Imprimer  
 
Aller à:  

Propulsé par MySQL Propulsé par PHP Powered by SMF 1.1.21 | SMF © 2006, Simple Machines

Dilber MC Theme by HarzeM
Page générée en 0.035 secondes avec 21 requêtes.