Hallo, voor mijn stage project ben ik een inlog script aan het schrijven, en ik wou graag van jullie horen of het goed of slecht is en wat er allemaal verbeter kan worden.
login.php
*************************************
controle.php
login.php
PHP:
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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
| <? ob_start(); //error_reporting(E_ALL); session_start(); if($_GET['do'] == 'login') { if($_SERVER['REQUEST_METHOD'] == 'POST'); { if($_POST['username']== '') { echo'Vul een username in'; exit; } if($_POST['password']== '') { echo'Vul een een wachtwoord in'; exit; } mysql_connect('localhost', '', ''); mysql_select_db('project'); $username = $_POST['username']; $password = $_POST['password']; $inlog = "SELECT*FROM members WHERE username = '".$username."' AND password = '".$password."'"; $check = mysql_query($inlog) or die(mysql_error()); $count = mysql_num_rows($check); $gegevens = mysql_fetch_assoc($check); $userid = $gegevens['id']; $naam = $gegevens['naam']; $ip = $_SERVER['REMOTE_ADDR']; if($count == 1) { $hash = md5(rand(0,99999). $gegevens->id. $_SERVER['REMOTE_ADDR']); if(isset($_POST['autologin'])) { $sql = 'SELECT * FROM `loggedin` WHERE userid ='.$userid.''; $kijkna = mysql_query($sql); $aantal = mysql_num_rows($kijkna) ; //niet eerder ingelogd? dan ff toevoegen aan de databse if($aantal != 1) { $input = "INSERT INTO loggedin (id, userid, Naam, tijd, hash, ip) VALUES ('', '$userid','$naam',NOW(),'$hash','$ip')"; $voerin = mysql_query($input) or die("Er is is fout gegaan tijdens registreren van de sessie"); setcookie('test_hash',$hash,time()+300); setcookie('test_user_id',$userid,time()+300); header('Location: test_cookie.php'); } // wel eeder in gelogd maar cookie was verlopen dus ff updaten else { $login = "UPDATE loggedin SET hash = '$hash', ip = '$ip', tijd= NOW() WHERE userid = ".$userid."" ; //(id, userid, Naam, tijd, hash, ip) VALUES ('', '$userid','$naam','time()','$hash','$ip')"; $update = mysql_query($login) or die (mysql_error ()); setcookie('test_hash',$hash,time()+60); setcookie('test_user_id',$userid,time()+60); header('Location: index.php'); } } else { $_SESSION['user_id'] = $userid; $_SESSION['hash'] = $hash; header('Location: index.php'); } } else { echo" Je hebt een verkeerde username of password ingevuld"; } ob_end_flush(); } } else { echo"<form action='".$_SERVER['PHP_SELF']."?do=login' method='POST'>"; ?> <br> login: <br> <input name="username" type="text" > <br> wachtwoord: <br> <input name="password" type="password" > <br> <input type='submit' value='login' method='POST' name='inlog'> <br> <br> Automatisch ingelogd blijven? <input type='checkbox' name='autologin'> </form> <? } ?> |
*************************************
controle.php
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
| <?php session_start(); mysql_connect('localhost','',''); mysql_select_db('project'); $query = "SELECT*FROM loggedin WHERE userid = '".$_COOKIE['test_user_id']."' AND ip = '".$_SERVER['REMOTE_ADDR']."'"; $result = mysql_query($query) or die (mysql_error()); $check = mysql_num_rows($result); if (($check == 1 && isset($_COOKIE['test_hash']) && isset($_COOKIE['test_user_id'])) || (isset($_SESSION['hash']) && isset($_SESSION['user_id'])) ) { echo"You are in :D"; } ?> |
[ Voor 13% gewijzigd door Isengrim op 19-05-2004 19:08 ]