Hallo,
bij het solliciteren moest ik een snippet van mijn laatst gemaakte code sturen.
Op basis van deze code ben ik afgewezen en na het navragen kreeg ik als antwoord:
Graag opbouwende kritiek!
B.v.d,
bij het solliciteren moest ik een snippet van mijn laatst gemaakte code sturen.
Op basis van deze code ben ik afgewezen en na het navragen kreeg ik als antwoord:
Nu wil ik jullie vragen om mij tips te geven om beter te worden!Wat ik heb begrepen is dat de opbouw (gelaagdheid?) van de code van een te laag niveau is. Veel meer kan ik hier ook niet over zeggen vanuit een gebrek aan technische achtergrond.
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
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
| <?php // Dit is een script wat kijkt of de ipadres van de gebruiker in de database staat en dus verbannen is. // Wanneer het ipadres gevonden wordt krijgt de gebruiker een error pagina te zien. class handler { public function isBanned() // Kijk of dit ipadres verbannen is in de database { $ip = $_SERVER['REMOTE_ADDR']; $query = mysql_query("SELECT * FROM verzoek_bans WHERE ban_ip = '".$ip."'") or die(mysql_error()); $count = mysql_num_rows($query); $row = mysql_fetch_assoc($query); if($count > 0) //Is er een ip gevonden in de database { //Invoeren in het logbestand include('../events/eventclass.php'); //include de eventlog module $event = new eventlog; //decare eventlog $uname = $this->getIdWithName($row['ban_name']); $logid = 2; // 1 access 2 denied 3 update 4 handle $eventsource = "Verzoeksysteem"; //Event titel $eventdesc = "Toegang geweigerd: ".$row['ban_name']." met IP: ".$ip; //Event omschrijving $event->insertlog($uname, $logid, $eventsource, $eventdesc); //Alles met de eventfunctie meesturen return TRUE; //De waarde true naar het script sturen } } } $handler = new handler; //Declare $hander $isBanned = $handler->isBanned(); //De variable makkelijer aanroepbaar maken if($isBanned == TRUE) { exit('U bent verbannen van onze website.'); } ?> In eventclass.php: <?php class eventlog { //invoeren van het event in de database public function insertlog($uid,$logid,$desc,$txt) { $txt = addslashes($txt); //Addslashes om het script niet te laten crashen $desc = addslashes($desc); $date = date('Y-m-d H:i:s'); //Current timestamp $sql = "INSERT INTO `eventlog` (`user_id`, `log_id`, `event_description`, `event_text`, `event_datetime`) VALUES ('$uid', '$logid', '$desc', '$txt', '$date')"; mysql_query($sql) or die(mysql_error()); } } ?> Een whois-online script voor een membersysteem: De class: <?php class online { public function update() //Update of creeër records voor de database { $ip = $_SERVER['SERVER_ADDR']; $uid = $_SESSION['userid']; // User id is vastgesteld bij het inloggen $time = date('H:i'); $query = "SELECT * FROM whois WHERE whois_ip = '".$ip."' AND user_id = '".$uid."'"; $result = mysql_query($query) or die(mysql_error()); $count = mysql_num_rows($result); if($count == 0) // Wanneer er geen gegevens worden gevonden worden deze hier aangemaakt { mysql_query(" INSERT INTO whois (`user_id`, `whois_ip`, `whois_time`, `whois_rank`, `whois_guestname`) VALUES ('".$id."', '".$ip."', '".$time."', '".$_SESSION['rank']."', '".$_SESSION['name']."'); "); } else // Er is al een record gevonden dus we updaten de tijd { mysql_query("UPDATE whois SET whois_time = '".$time."' WHERE whois_ip = '".$ip."' AND user_id = '".$uid."'"); } } public function check() // Deze functie controleert of er een gebruiker is die langer dan 1 minuut // zijn record niet geupdate heeft. Deze wordt dan verwijdert zodat de online- // lijst accuraat blijft. { $time = date('H:i'); $query = "SELECT * FROM whois"; // we vragen alle records aan. $result = mysql_query($query) or die(mysql_error()); // Deze loop controleerd voor elke input of deze over tijd is while ($row = mysql_fetch_assoc($result)) { // Eerst maken we van de tijd een unixtimestamp en kijken of deze kleiner is dan // de huidige tijd minus een minuut if(strtotime($row['whois_time']) < strtotime("-1 minutes")) { //Deze record is verlopen mysql_query("DELETE FROM whois WHERE whois_id =".$row['whois_id']); } } } } ?> Het volgende script maakt een reloading DIV: <script language="JavaScript"> var auto_refresh = setInterval( function() { $('#WhoisOnline').load('reload.php'); }, 5000); </script> <div id="WhoisOnline"></div> Reload.php: <?php include("online/onlineclass.php"); $online = new online; $online->update(); //insert/update online gegevens $online->check(); //check of er iemand niet meer is ?> |
Graag opbouwende kritiek!
B.v.d,