PHP - récupérer ip + enregistrer dans la BDD + condition

Résolu/Fermé
Messages postés
320
Date d'inscription
samedi 2 juin 2012
Statut
Membre
Dernière intervention
9 août 2021
-
Messages postés
320
Date d'inscription
samedi 2 juin 2012
Statut
Membre
Dernière intervention
9 août 2021
-
Bonjour,

J'ai eu beau cherché, je n'ai rien trouvé.

Donc je voudrais faire quelque chose d'assez simple mais je coince en PHP.
Donc, je veux que quand un utilisateur connecté clique sur une image, que son IP soit enregistrer quelque part (BDD), et que cela redirige vers une page. Mais une fois que cela est fait, que si son IP est dans la BDD, il ne puisse pu cliquer sur l'image.

Et ensuite, 24h plus tard, l'IP se supprime de la BDD et l'utilisateur re peut cliquer sur l'image, puis son IP s'enregistre dans la BDD etc... et ce celà ne s'arrête pas.

Je pensais faire sa :

<?php
if son ip n'est pas dans la BDD et qu'il est connecté
on affiche l'image et on prends son IP qu'on enregistre dans la BDD
else on affiche pas l'image
?>

Mais pour coder, je ne sais pas trop faire...

1 réponse

Messages postés
5734
Date d'inscription
mercredi 15 septembre 2004
Statut
Contributeur
Dernière intervention
28 janvier 2022
966
Salut audric49,

Cela devrait aller mieux comme cela :

fwrite($inF,"$ip -> $pseudo\n");
https://www.php.net/manual/fr/function.fwrite.php


Dal
Messages postés
320
Date d'inscription
samedi 2 juin 2012
Statut
Membre
Dernière intervention
9 août 2021
8
Merci, mais j'ai changé le poste ;)
Messages postés
5734
Date d'inscription
mercredi 15 septembre 2004
Statut
Contributeur
Dernière intervention
28 janvier 2022
966
Salut audric49,

Modifier son post 20 minutes après avec quelque chose de totalement différent, et après que l'on ai répondu à ta demande initiale n'est pas propice à une bonne communication (et je suis soft).

De plus, c'est faux que "tu n'as rien trouvé", puisque dans le code que tu postais à l'origine, tu montrais savoir comment récupérer l'IP, le pseudo, et que tu savais comment constituer ta "base de données" (que tu constituais comme un fichier ACSII) à une erreur de syntaxe près que j'ai corrigée ci-dessus.

Avec une question aussi ouverte que celle que tu poses désormais, je doute que tu obtiennes d'autres réponses que :

- si tu veux vraiment utiliser un SGBD, apprend à t'en servir
- si tu veux modifier ton code html en fonction du temps écoulé, stocke la date du click
- si tu veux modifier ton code html comme tu le dis et que tu ne sais pas faire, apprend la syntaxe des balises <a> et <img>


Dal
Messages postés
320
Date d'inscription
samedi 2 juin 2012
Statut
Membre
Dernière intervention
9 août 2021
8
Déjà si j'ai changé c'est parce que ce n'était pas assez précis.
Puis mon problème c'est pas le HTML mais le php. Surtout avec la BDD.
Et si c'est pour ne pas m'aider, laisse tomber...
Messages postés
5734
Date d'inscription
mercredi 15 septembre 2004
Statut
Contributeur
Dernière intervention
28 janvier 2022
966
Salut audric49,

Si tu postais ton code (ce que tu avais fait dans ton message initial que tu as supprimé), tu préciserais effectivement ta demande.

Là tu es passé d'une question précise (celle que tu as supprimé) et à laquelle j'ai répondu, à une multitude de questions générales et donc imprécises, et à laquelle on ne peut pas répondre précisément. Tu ne "précises" pas ta question d'origine, puisque la réponse qui t'a été faite en https://forums.commentcamarche.net/forum/affich-26873813-php-recuperer-ip-enregistrer-dans-la-bdd-condition#1 résolvait l'erreur d'écriture de données incorrectes que tu avais et que ta question d'origine était "résolue" de ce fait.

S'il te plait, évite de changer tes posts après qu'on t'ai répondu. Si tu as une nouvelle question pose la, mais ne fait pas comme si tu n'avais pas posé la première en la supprimant.

Pour tes nouvelles questions, dis nous ce que tu as fait, code à l'appui, et là où tu bloques.


Dal
Messages postés
320
Date d'inscription
samedi 2 juin 2012
Statut
Membre
Dernière intervention
9 août 2021
8
J'ai fais des recherche pendant quelques heures, et j'ai trouvé ce ci :
<?php 

$username = "monpseudo"; 

$mdp  = "monmdp"; 

$db = "madb"; 

$host = "monheberg"; 

//pour la connexion au serveur mysql 
$co = mysql_connect( $host , $username , $mdp ) ;  


//pour la selection de la base de donnee 
$db= mysql_select_db( $db ); 

//on prend lip 
$ip = $_SERVER['REMOTE_ADDR']; 
  
//Ajout de lip a la table IP et a la colonne ip 
$sql = "INSERT  INTO IP ( ip ) 
            VALUES ( '$ip' ) " ; 

//connexion a la bdd et execution de la requete 
$requete = mysql_query($sql, $co) or die( mysql_error() ) ; 
?> 


Puis :

 
<?php 
// lancement de la requête pour effacer Tibo 
$sql ='DELETE from liste_proprietaire WHERE nom="Tibo"';   
  
// on exécute la requête (mysql_query) et on affiche un message au cas où la requête ne se passait pas bien (or die) 
mysql_query($sql) or die('Erreur SQL !'.$sql.'<br />'.mysql_error());   

// lancement de la requête pour effacer les disques de Tibo (je vous rappelle que Tibo à le numéro 4) 
$sql ='DELETE from liste_disque WHERE numero="4"';   

// on exécute la requête (mysql_query) et on affiche un message au cas où la requête ne se passait pas bien (or die) 
mysql_query($sql) or die('Erreur SQL !'.$sql.'<br />'.mysql_error());   

// on ferme la connexion à la base 
 mysql_close();   
 ?> 


mais je trouve pas comment faire pour le time...