Enregistré l'adresse IP de tous les visiteurs
flo39400
Messages postés
596
Date d'inscription
Statut
Membre
Dernière intervention
-
flo39400 Messages postés 596 Date d'inscription Statut Membre Dernière intervention -
flo39400 Messages postés 596 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'aimerai savoir comment faire pour enregistré l'adresse IP d'un visiteur dans une table tel que ID, NAME, DATE, HEUR, IP.
Si le visiteur n'est pas identifier sa met Visiteur en NAME puis les autres valeurs.
Puis si le visiteur ce connecte ça ajoute son pseudo a la place de visiteur.
J'espère que j'ai était clair dans mes explications.
J'aimerai savoir comment faire pour enregistré l'adresse IP d'un visiteur dans une table tel que ID, NAME, DATE, HEUR, IP.
Si le visiteur n'est pas identifier sa met Visiteur en NAME puis les autres valeurs.
Puis si le visiteur ce connecte ça ajoute son pseudo a la place de visiteur.
J'espère que j'ai était clair dans mes explications.
A voir également:
- Enregistré l'adresse IP de tous les visiteurs
- Ethernet n'a pas de configuration ip valide - Guide
- Comment connaître son adresse ip - Guide
- Darkino nouvelle adresse - Guide
- Adresse mac - Guide
- Adresse ip - Guide
4 réponses
slt
Utilise plutôt les cookies, pas besoin de table comme ça.
tu enregistres l'information dans le cookie, et à chaque visite tu le lis.
pour la connexion, rien de compliquer si tu sais programmer php un minimum
:-)Pour un vieux de 47 ans, je peux encore en apprendre et vous en apprendre aussi :-D
Utilise plutôt les cookies, pas besoin de table comme ça.
tu enregistres l'information dans le cookie, et à chaque visite tu le lis.
pour la connexion, rien de compliquer si tu sais programmer php un minimum
:-)Pour un vieux de 47 ans, je peux encore en apprendre et vous en apprendre aussi :-D
Bonjour, pas d'idée ce matin :/
Je cherche toujours,....
Je cherche toujours,....
Si tu sais enregistrer en bdd les infos, ton problème est ou exactement ?
Il faut utiliser les SESSION pour ce genre de chose.
Une fois connecter, tu place le login dans $_SESSION['login']
http://www.lephpfacile.com/howto/10-comment-faire-un-espace-membre-en-php
Il faut utiliser les SESSION pour ce genre de chose.
Une fois connecter, tu place le login dans $_SESSION['login']
http://www.lephpfacile.com/howto/10-comment-faire-un-espace-membre-en-php
Le problème sais que déjà la variable $pseudo = $_SESSION['pseudo']; n'est pas récupérer donc code erreur.
Et la mise a jour si une personne ce connecte n'est pas active car j'ai aucune idée de comment faire.
Et la mise a jour si une personne ce connecte n'est pas active car j'ai aucune idée de comment faire.
`<?php
//Affichage des erreurs PHP
error_reporting(E_ALL);
//Demarrage des sessions
session_start();
//connexion à la BDD (on inclus le fichier)
require_once "cnxBDD.php";
$ip = $_SERVER['REMOTE_ADDR'];
$date = date("Y-m-d");
$heur = date("H:i:s");
$pseudo = $_SESSION['pseudo'];
$inconnu = "visieur";
if(isset($_SESSION['pseudo']))
{
$insertmbr = $bdd->prepare("INSERT INTO uttilisateurs(name, date, heur, ip) VALUES(?, ?, ?, ?)");
$insertmbr->execute([$pseudo, $date, $heur, $ip]);
$info = "OK 1";
}
else
{
$insertmbr = $bdd->prepare("INSERT INTO uttilisateurs(name, date, heur, ip) VALUES(?, ?, ?, ?)");
$insertmbr->execute([$inconnu, $date, $heur, $ip]);
$info = "OK 2";
}
echo "$info";
?>
essaye ça, je n'ai pas testé:
A condition que $_SESSION['pseudo'] ne soit pas vide sur ta page de connexion une fois connecté.
je regarde dans la bdd sir l'ip n'est pas déjà présente, si non j'enregistre.
si $_SESSION['pseudo'] est vide, c'est qu'il n'y a pas eu de connexion, alors $pseudo ='Inconnu'
Et je ne suis absolument pas un pro php, donc...
:-)Pour un vieux de 47 ans, je peux encore en apprendre et vous en apprendre aussi :-D
A condition que $_SESSION['pseudo'] ne soit pas vide sur ta page de connexion une fois connecté.
je regarde dans la bdd sir l'ip n'est pas déjà présente, si non j'enregistre.
si $_SESSION['pseudo'] est vide, c'est qu'il n'y a pas eu de connexion, alors $pseudo ='Inconnu'
`<?php
//Affichage des erreurs PHP
error_reporting(E_ALL);
//Demarrage des sessions
session_start();
require_once "cnxBDD.php";
$ip = $_SERVER['REMOTE_ADDR'];
$date = date("Y-m-d");
$heure = date("H:i:s");
$pseudo = $_SESSION['pseudo'];
if (empty($pseudo)) { $pseudo='Inconnu' ; }
$req = $bdd->prepare('SELECT id FROM uttilisateurs WHERE ip = :ip ');
$req->execute(array(
'ip' => $ip));
$resultat = $req->fetch();
if (!$resultat)
{
$insertmbr = $bdd->prepare("INSERT INTO uttilisateurs(name, date, heur, ip) VALUES(?, ?, ?, ?)");
$insertmbr->execute($pseudo, $date, $heur, $ip);
$info = "OK 1";
}
echo $info;
?>
Et je ne suis absolument pas un pro php, donc...
:-)Pour un vieux de 47 ans, je peux encore en apprendre et vous en apprendre aussi :-D
Donc la non plus, j'ai que je sois connecter ou pas j'ai mon OK 1 mais rien dans la base de données moi je travail sur ce code que j'ai un peu modifier.
le problème je crois que mon UPDATE ne passe pas car j'ai pas de mise a jour au niveau de la base de donnée.
<?php
//Affichage des erreurs PHP
error_reporting(E_ALL);
//Demarrage des sessions
session_start();
//connexion à la BDD (on inclus le fichier)
require_once "cnxBDD.php";
$ip = $_SERVER['REMOTE_ADDR'];
$date = date("Y-m-d");
$heur = date("H:i:s");
$pseudo = $_SESSION['pseudo'];
$inconnu = "visiteur";
$retour = mysql_query('SELECT COUNT(*) AS nbre_entrees FROM uttilisateurs WHERE ip=\'' . $ip . '\'');
$donnees = mysql_fetch_array($retour);
if ($donnees['nbre_entrees'] == 0) // L'IP ne se trouve pas dans la table, ajouter IP.
{
if(isset($_SESSION['pseudo']))
{
$insertmbr = $bdd->prepare("INSERT INTO uttilisateurs(name, date, heur, ip) VALUES(?, ?, ?, ?)");
$insertmbr->execute([$pseudo, $date, $heur, $ip]);
$info = "OK 1";
}
else
{
$insertmbr = $bdd->prepare("INSERT INTO uttilisateurs(name, date, heur, ip) VALUES(?, ?, ?, ?)");
$insertmbr->execute([$inconnu, $date, $heur, $ip]);
$info = "OK 2";
}
}
else
{
mysql_query('UPDATE uttilisateurs SET name= ' . $_SESSION['pseudo'] WHERE ip=\'' . $_SERVER['REMOTE_ADDR'] . '\''). ';
$info = "OK 3";
}
?>
echo "$info";
le problème je crois que mon UPDATE ne passe pas car j'ai pas de mise a jour au niveau de la base de donnée.
tu connais quoi au php et aux bases de données ?
Si l'ip change vu que j'aurai la liste des IP que le pseudo X sais connecter il faudra juste bannir toutes les IP et sont pseudo par la même occasion.