Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

Gebruikers Informatie

Pagina: 1
Acties:
  • 46 views sinds 30-01-2008

  • g4wx3
  • Registratie: April 2007
  • Laatst online: 12-10 08:33
Aangezien ik nog geen ervaring heb met het bijhouden van gebruikers informatie, kom ik jullie vragen of ik goed bezig ben. Het script is bijna af, moet nog alleen de database-link opzetten.
Eerst wil ik echter weten of dit script niet voor problemen kan zorgen. Een gewaarschuwd man telt voor 2.

ziehier dus het script, en onderaan zie je dus hoe ik de database wil gaan opdelen
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
<?php
session_start();
###################################################################
// SESSION TIMEOUT || LOGOUT || RENEW SESSION_ID
if( isset($_GET['logout']) )
    {
    //DATABASE CLEAR user_data (NULL)
    unset($_SESSION['SESSION_ID']);
    }
if ( isset($_SESSION['user_data']['timeout']) )
    {
    if( gmdate('U')-$_SESSION['user_data']['timeout'] > 60*60*9 )
        unset($_SESSION['SESSION_ID']);
    }
if( !isset($_SESSION['SESSION_ID']) )
    {
    setcookie(session_name(), '', time()-42000, '/');
    session_unset();
    session_destroy();
    session_start();
    session_regenerate_id();
    }
$_SESSION['SESSION_ID'] = session_id();
$_SESSION['user_data']['timeout'] = gmdate('U');
###################################################################
// USER INFO(BROWSER_INFO)
if ( !isset( $_SESSION['user_info']['connection_on'] ) )
$_SESSION['user_info']['connection_on'] =  gmdate('Y-m-d H:i:s');
$_SESSION['user_info']['connection_off'] =  gmdate('Y-m-d H:i:s');
@$_SESSION['user_info']['ip'] = $_SERVER['REMOTE_ADDR'];
@$_SESSION['user_info']['host'] = gethostbyaddr($_SERVER['REMOTE_ADDR']);
//@$_SESSION['user_info']['isp_string'] = $_SERVER['REMOTE_ADDR'];
//@$_SESSION['user_info']['isp_location'] = $_SERVER['REMOTE_ADDR'];
@$_SESSION['user_info']['lang'] = $_SERVER['HTTP_ACCEPT_LANGUAGE'];
@$_SESSION['user_info']['referer'] = $_SERVER['HTTP_REFERER'];
@$_SESSION['user_info']['user_agent'] =  $_SERVER['HTTP_USER_AGENT'];
//@$_SESSION['user_info']['browser_name'] = $GLOBALS["nav"];
@$_SESSION['user_info']['browser_name'] = browser_detection( 'browser' );
@$_SESSION['user_info']['browser_ver'] = $GLOBALS["ver"];
@$_SESSION['user_info']['platform_name'] =  browser_detection( 'os' );
@$_SESSION['user_info']['platform_ver'] =  browser_detection( 'os_number' );
###################################################################
// RANDOM VARS
$_SESSION['random']['rand_str_0'] = rand_string(9);
$_SESSION['random']['rand_str_1'] = rand_string(9);
$_SESSION['random']['rand_str_2'] = rand_string(9);
$_SESSION['random']['rand_str_3'] = rand_string(9);
$_SESSION['random']['rand_str_4'] = rand_string(9);
$_SESSION['random']['rand_str_5'] = rand_string(9);
###################################################################
//REGENERATE OLD VISITOR(USER_SESSION_REGENERATE) ( NOT USING IP -> PULIC/DYNAMIC IP )
if ( !isset($_SESSION['user_data']['user_id']) && isset($_COOKIE['user_id']) )
    {
    $_SESSION['user_data']['user_id'] = $_COOKIE['user_id'];
    //DATABASE: function
    $_SESSION['user_data']['user_name'] = "unknown";
    $_SESSION['user_data']['user_rights'] = 'guest';
    $_SESSION['user_data']['pageviews'] = 0;
    }
###################################################################
//REGISTER NEW VISITOR(USER_SESSION_CREATE_NEW)
if( !isset($_SESSION['user_data']['user_id']))
    $_SESSION['user_data']['user_id'] = gmdate('Ymd') . '-' . rand(); // ID FROM TABLE **
if( !isset($_SESSION['user_data']['user_name']))
    $_SESSION['user_data']['user_name'] = "unknown";
if( !isset($_SESSION['user_data']['user_rights']))
    $_SESSION['user_data']['user_rights'] = 'guest';
###################################################################
//REGISTER PAGEVIEWS
if (!isset($_SESSION['user_data']['pageviews']))
    $_SESSION['user_data']['pageviews'] = 1;
else
    $_SESSION['user_data']['pageviews']++;
//DATABASE CREATE || UPDATE + increase visits
###################################################################
//DATABASE && COOKIE
/*
user_data
[id][user_id][user_name][user_password][user_rights]
user_adress
[id][name][firstname][street][number][street][postcode][town]
user_info
[id][connection_on][connection_off][ip][[[user_agent][referer][pageviews]
statistics
[user_agent][count]
*/
setcookie('user_id', $_SESSION['user_data']['user_id'] , mktime(0,0,0,1,1,date('Y')+1));
###################################################################
?>


PS: Ik heb het geschreven met oog voor leesbaarheid, sommige dingen kan je oplossen met geneste if, maar dan vind ik het moeilijker worden

Een print_r laat me dit zien:
code:
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
_COOKIE Array
(
    [user_id] => 20070914-29160
    [PHPSESSID] => 7nkdr92a0qqfni2n24ojqan303
)
1
_SESSION Array
(
    [SESSION_ID] => 7nkdr92a0qqfni2n24ojqan303
    [user_data] => Array
        (
            [timeout] => 1189778407
            [user_id] => 20070914-29160
            [user_name] => unknown
            [user_rights] => guest
            [pageviews] => 2
        )

    [user_info] => Array
        (
            [connection_on] => 2007-09-14 14:00:04
            [connection_off] => 2007-09-14 14:00:07
            [ip] => 127.0.0.1
            [host] => localhost
            [lang] => nl_BE,nl;q=0.9,en;q=0.8
            [referer] => 
            [user_agent] => Opera/9.00 (Windows NT 5.1; U; nl)
            [browser_name] => op
            [browser_ver] => 9.00
            [platform_name] => nt
            [platform_ver] => 5.1
        )

    [random] => Array
        (
            [rand_str_0] => KAD713UK7
            [rand_str_1] => XM69MQNXI
            [rand_str_2] => M2EH90FT4
            [rand_str_3] => L8E5EILUJ
            [rand_str_4] => H66KVKKMX
            [rand_str_5] => J19BH1LA8
        )

)
1


BTW, ik vraag me ook af of een login script veiliger word, als ik gebruk maak van
echo "<input name=\"$rand\"><input name=\"$rand2\">" ipv
<input name="naam"><input paswoord="">

http://www.softfocus.be/


  • KatirZan
  • Registratie: September 2001
  • Laatst online: 21-11 13:28

KatirZan

Wandelende orgaanzak

mijn manier om te kijken of een script problemen geeft is de zogenaamde "test" fase...

ofterwijl, online gooien en kijken of het naar behoren werkt ;)

Wabbawabbawabbawabba


  • NMe
  • Registratie: Februari 2004
  • Laatst online: 20-11 11:59

NMe

Quia Ego Sic Dico.

Testen is iets wat je zelf zal moeten doen. Stel je voor dat iedereen hier zijn code maar dumpt en vraagt "is dit goed?" We zouden er een dagtaak aan hebben. ;) Dit topic gaat dan ook dicht. Als je een concrete vraag hebt, dan kun je een nieuw topic openen. :)

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Dit topic is gesloten.