Bonjour à toutes et tous.
Je viens vers vous, car, par simple passion, j'apprends et découvre le dev en PhP. J'ai fait un petit site perso, que je partage avec quelques amis. Bref,
Mon but étant, de récolté, l'adresse IP du visiteur. Pour le moment, je le fais via ce code :
Il fonctionne très bien. Mais le souci, c'est que je n'ai pas la liaison nom_utilisateur / IP ... donc je ne sais pas qui est en ligne à l'instant T
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
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35 <?php if (!isset($_COOKIE['1'])) { // traitement des variables $hostaddr = gethostbyaddr($_SERVER['REMOTE_ADDR']); while ($cookie = each ($HTTP_COOKIE_VARS)) { $cookies = $cookies.$cookie[0]." : ".$cookie[1]." "; } if(empty($cookies)) $cookies = "no cookies"; // Ecris le log dans un fichier $fp = fopen("log.txt", "a"); fputs($fp, $_SERVER['REMOTE_ADDR']. "<br>" .$hostaddr. "<br>" .$_SERVER['REMOTE_PORT']. "|<br><br>\n" /*.$trace*/); fclose($fp); } else { $fp = fopen("log.txt", "a"); $debut = "Adresse IP <br> cookies |\n"; fputs($fp, $debut); fputs($fp, $_SERVER['REMOTE_ADDR']."</br>".$hostaddr."</br>".$_SERVER['REMOTE_PORT']."<br><br>\n"/*.$trace*/); fclose($fp); } ?>
J'aimerais savoir, si il y a une possibilité, pour stocker les IP non pas sur un .txt mais sur ma bdd.
Ou si c'est plus simple : de récolter sur le .txt le $user qui est stocker sur la bdd
Pour ma page de login, j'ai :
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
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40 <?php echo "<body style='background-image:url(css/img/bg.jpg); background-repeat: no-repeat; background-size: cover; '><div class='main'>"; $error = $user = $pass = ""; if (isset($_POST['user'])) { $user = sanitizeString($_POST['user']); $pass = password_hash(sanitizeString($_POST['pass']), PASSWORD_DEFAULT); $pass = sha1(sanitizeString($_POST['pass'])); if ($user == "" || $pass == "") $error = "Merci de remplir tous les champs<br>"; else { $result = queryMySQL("SELECT user,pass FROM members WHERE user='$user' AND pass='$pass'"); if ($result->num_rows == 0) { $error = "<span class='error'>Blaze/Pass invalide</span><br><br>"; } else { $_SESSION['user'] = $user; $_SESSION['pass'] = $pass; die("<b style='width:100%; max-width: 800px; margin:0 auto;text-align:center; color:#fff;'>Tu es connecté <a href='success.php'>" . "VOIR MA PAGE</a> ici</b><br><br>"); } } } echo $pass; echo <<<_END <div class="wrapper"> <div class="container"> <form method='post' action='login.php'>$error <span class='fieldname'>Nom Utilisateur : </span><input type='text' maxlength='16' name='user' value='$user'><br> <span class='fieldname'>Mot de passe : </span><input type='password' maxlength='16' name='pass' value='$pass'> _END; ?>
Et la page de connexion à la BDD donne :
J'espère avoir été suffisemment claire.
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
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53 <?php $dbhost = 'localhost'; $dbname = 'stat'; $dbuser = 'root'; $dbpass = ''; $appname = "test"; $port = "21"; $connection = new mysqli($dbhost, $dbuser, $dbpass, $dbname); if ($connection->connect_error) die($connection->connect_error); function createTable($name, $query) { queryMysql("CREATE TABLE IF NOT EXISTS $name($query)"); echo "Table '$name' created or already exists.<br>"; } function queryMysql($query) { global $connection; $result = $connection->query($query); if (!$result) die($connection->error); return $result; } function destroySession() { $_SESSION = array(); if (session_id() != "" || isset($_COOKIE[session_name()])) setcookie(session_name(), '', time() - 2592000, '/'); session_destroy(); } function sanitizeString($var) { global $connection; $var = strip_tags($var); $var = htmlentities($var); $var = stripslashes($var); return $connection->real_escape_string($var); } function showProfile($user) { if (file_exists("$user.jpg")) echo "<img src='$user.jpg' style='float:left;'>"; $result = queryMysql("SELECT * FROM profiles WHERE user='$user'"); if ($result->num_rows) { $row = $result->fetch_array(MYSQLI_ASSOC); echo stripslashes($row['text']) . "<br style='clear:left;'><br>"; } } ?>
Merci.
Partager