array meerdere users
Ik ben niet goed in php (gebruik alleen bestaande scripts).
Ik heb volgend stuk code dat ik wil aanpassen naar meerdere users en passwords:
if (!isset($_SESSION['user'])) {
$user = '';
$pass = '';
if (isset($_POST['login'])) {
$user = strtolower(trim($_POST['user']));
$pass = $_POST['pass'];
$errors = array();
if ($user == '' || $user != 'admin') {
$errors['user'] = '';
}
if ($pass == '' || $pass != '123456') {
$errors['pass'] = '';
}
if (empty($errors)) {
$_SESSION['user'] = $user;
Kan iemand me zeggen hoe ik dit stuk code dan moet aanpassen?
Alvast bedankt hoor!
fvd
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php
if (!isset($_SESSION['user'])) {
$user = '';
$pass = '';
if (isset($_POST['login'])) {
$user = strtolower(trim($_POST['user']));
$pass = $_POST['pass'];
$errors = array();
if ($user == '' || $user != 'admin') {
$errors['user'] = '';
}
if ($pass == '' || $pass != '123456') {
$errors['pass'] = '';
}
if (empty($errors)) {
$_SESSION['user'] = $user;
?>
if (!isset($_SESSION['user'])) {
$user = '';
$pass = '';
if (isset($_POST['login'])) {
$user = strtolower(trim($_POST['user']));
$pass = $_POST['pass'];
$errors = array();
if ($user == '' || $user != 'admin') {
$errors['user'] = '';
}
if ($pass == '' || $pass != '123456') {
$errors['pass'] = '';
}
if (empty($errors)) {
$_SESSION['user'] = $user;
?>
En heb je al wel eens gehoord van inspringen?
Dus alles wat in een if staat, een tab er voor.
Dus zo ongeveer:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?php
if (!isset($_SESSION['user'])) {
$user = '';
$pass = '';
if (isset($_POST['login'])) {
$user = strtolower(trim($_POST['user']));
$pass = $_POST['pass'];
$errors = array();
if ($user == '' || $user != 'admin') {
$errors['user'] = '';
}
if ($pass == '' || $pass != '123456') {
$errors['pass'] = '';
}
if (empty($errors)) {
$_SESSION['user'] = $user;
}
}
}
?>
if (!isset($_SESSION['user'])) {
$user = '';
$pass = '';
if (isset($_POST['login'])) {
$user = strtolower(trim($_POST['user']));
$pass = $_POST['pass'];
$errors = array();
if ($user == '' || $user != 'admin') {
$errors['user'] = '';
}
if ($pass == '' || $pass != '123456') {
$errors['pass'] = '';
}
if (empty($errors)) {
$_SESSION['user'] = $user;
}
}
}
?>
Gewijzigd op 29/09/2010 23:06:23 door Th van
Dank je voor de correctie.
Het zou nog mooier zijn mocht iemand me kunnen helpen...
Groeten,
FVD
Misschien zou je wat meer van je code willen posten? Dat maakt het wat makkelijker;)
Voor iedere bezoeker komt er dus een stukje PHP code bij op je site.
Daarnaast zou je nog meer info van een bezoekers willen bijhouden (Email, geboortedatum, etc).
Ga je dit dat allemaal in je PHP code verwerken? Je hebt hopelijk wel wat beters te doen ;P
Je zult toch gebruik moeten maken van een database om gebruikers gegevens in op te slaan.
Met een SELECT query kun je dan controleren of login naam en wachtwoord in de database staan. Zorg er wel voor dan de combinatie login naam en wachwoord uniek is (unique index). Anders zou ik wel eens als Piet kunnen inloggen ik ben toch echt Martijn :D
Dit lijkt mij niet al te moeilijk als je een aantal tutorials doorleest.
Gewijzigd op 30/09/2010 20:20:43 door Martijn B
Het is slechts voor en paar mensen, wordt dus niet uitgebreid, max 5 of zo.
Hier is de hele code:
Code (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
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
<?php session_start();?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>CMS</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<link rel="stylesheet" href="style.css" type="text/css" />
</head>
<body>
<div id="main">
<h1>CMS</h1>
<?php
if (empty($_POST) && isset($_GET['action'])) {
$action = $_GET['action'];
switch ($action) {
case 'logout':
session_unset();
session_destroy();
break;
}
}
if (!isset($_SESSION['user'])) {
$user = '';
$pass = '';
if (isset($_POST['login'])) {
$user = strtolower(trim($_POST['user']));
$pass = $_POST['pass'];
$errors = array();
if ($user == '' || $user != 'admin') {
$errors['user'] = '';
}
if ($pass == '' || $pass != '123456') {
$errors['pass'] = '';
}
if (empty($errors)) {
$_SESSION['user'] = $user;
} else {
echo '<p class="error">Please fill in your correct ';
if (isset($errors['user']))
echo 'username';
if (count($errors) == 2)
echo ' and ';
if (isset($errors['pass']))
echo 'password';
echo '.</p>', "\n";
}
}
}
if (isset($_SESSION['user'])) {
$user = $_SESSION['user'];
?>
<div id="headertext">
<p class="l">You are logged in as <strong><?php echo $user?></strong>.</p>
<p class="r"><a href="?action=logout">Logout</a></p>
</div>
<?php
if (isset($_POST['edit'])) {
if (file_put_contents('homecontent.txt', $_POST['homecontent']))
echo '<p class="succes">Your changes are saved.</p>', "\n";
}
$homecontent = file_get_contents('homecontent.txt');
?>
<form method="post" action="">
<p>Here you can edit your homepage text:</p>
<textarea name="homecontent" id="homecontent" rows="20" cols="55"><?php echo $homecontent?></textarea>
<p><button type="submit" name="edit">Save changes</button></p>
</form>
<?php } else {?>
<form method="post" action="" id="login">
<p>
<label for="user">Username:</label><input type="text" name="user" id="user" value="<?php echo $user?>" />
</p>
<p>
<label for="pass">Password:</label><input type="password" name="pass" id="pass" value="<?php echo $pass?>" />
</p>
<p>
<button type="submit" name="login">Login</button>
</p>
</form>
<?php }?>
</div>
</body>
</html>
Gewijzigd op 30/09/2010 20:32:13 door Filip Van Daele
Code (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
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
session_start();
if (!isset($_SESSION['user'])) {
$user = '';
$pass = '';
if (isset($_POST['login'])) {
$user = strtolower(trim($_POST['user']));
$pass = $_POST['pass'];
$aUserLogin = array(
'piet1' => 'geheim1',
'piet2' => 'geheim2',
'piet3' => 'geheim3',
'piet4' => 'geheim4',
'piet5' => 'geheim5'
);
if( isset($aUserLogin[$user])
&& $aUserLogin[$user] == $pass )
{
// Login gegevens zijn goed
$_SESSION['user'] = $user;
}
else
{
// Login gegevens zijn fout
}
}
}
// Als gebruiker ingelogd is
if( isset($_SESSION['user']) )
{
//print_r($_SESSION['user']);
}
?>
session_start();
if (!isset($_SESSION['user'])) {
$user = '';
$pass = '';
if (isset($_POST['login'])) {
$user = strtolower(trim($_POST['user']));
$pass = $_POST['pass'];
$aUserLogin = array(
'piet1' => 'geheim1',
'piet2' => 'geheim2',
'piet3' => 'geheim3',
'piet4' => 'geheim4',
'piet5' => 'geheim5'
);
if( isset($aUserLogin[$user])
&& $aUserLogin[$user] == $pass )
{
// Login gegevens zijn goed
$_SESSION['user'] = $user;
}
else
{
// Login gegevens zijn fout
}
}
}
// Als gebruiker ingelogd is
if( isset($_SESSION['user']) )
{
//print_r($_SESSION['user']);
}
?>
Als ik dat zo doe krijg ik een "500 internal server error" :-(
Deze functie moet namelijk als eerste worden uitgevoerd, dus voor dat je iets op het scherm zet. Anders krijg je problemen.
Al beter zo ja, geen error meer, maar wel blanco pagina...
Edit:
Zet anders dit ook nog even bovenin je scrip (nog veel session_start())
Als alles werkt van die 1 een 0 maken.
Zet anders dit ook nog even bovenin je scrip (nog veel session_start())
Als alles werkt van die 1 een 0 maken.
Gewijzigd op 30/09/2010 21:28:47 door Martijn B
Nog steeds niet vrees ik :-(
Terug een 500 internal...
Hier is nog even wat ik nu in totaal heb:
Code (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
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
<?php
error_reporting(E_ALL | E_STRICT);
ini_set('display_errors', 1);
?>
<?php session_start();?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>CMS</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<link rel="stylesheet" href="style.css" type="text/css" />
</head>
<body>
<div id="main">
<h1>CMS</h1>
<?php
if (empty($_POST) && isset($_GET['action'])) {
$action = $_GET['action'];
switch ($action) {
case 'logout':
session_unset();
session_destroy();
break;
}
}
if (!isset($_SESSION['user'])) {
$user = '';
$pass = '';
if (isset($_POST['login'])) {
$user = strtolower(trim($_POST['user']));
$pass = $_POST['pass'];
$aUserLogin = array(
'piet1' => 'geheim1',
'piet2' => 'geheim2',
'piet3' => 'geheim3',
'piet4' => 'geheim4',
'piet5' => 'geheim5'
);
if( isset($aUserLogin[$user])
&& $aUserLogin[$user] == $pass )
{
// Login gegevens zijn goed
$_SESSION['user'] = $user;
}
else
{
// Login gegevens zijn fout
}
}
}
// Als gebruiker ingelogd is
if( isset($_SESSION['user']) )
{
//print_r($_SESSION['user']);
}
?>
<div id="headertext">
<p class="l">You are logged in as <strong><?php echo $user?></strong>.</p>
<p class="r"><a href="?action=logout">Logout</a></p>
</div>
<?php
if (isset($_POST['edit'])) {
if (file_put_contents('homecontent.txt', $_POST['homecontent']))
echo '<p class="succes">Your changes are saved.</p>', "\n";
}
$homecontent = file_get_contents('homecontent.txt');
?>
<form method="post" action="">
<p>Here you can edit your homepage text:</p>
<textarea name="homecontent" id="homecontent" rows="20" cols="55"><?php echo $homecontent?></textarea>
<p><button type="submit" name="edit">Save changes</button></p>
</form>
<?php } else {?>
<form method="post" action="" id="login">
<p>
<label for="user">Username:</label><input type="text" name="user" id="user" value="<?php echo $user?>" />
</p>
<p>
<label for="pass">Password:</label><input type="password" name="pass" id="pass" value="<?php echo $pass?>" />
</p>
<p>
<button type="submit" name="login">Login</button>
</p>
</form>
<?php }?>
</div>
</body>
</html>
error_reporting(E_ALL | E_STRICT);
ini_set('display_errors', 1);
?>
<?php session_start();?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>CMS</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<link rel="stylesheet" href="style.css" type="text/css" />
</head>
<body>
<div id="main">
<h1>CMS</h1>
<?php
if (empty($_POST) && isset($_GET['action'])) {
$action = $_GET['action'];
switch ($action) {
case 'logout':
session_unset();
session_destroy();
break;
}
}
if (!isset($_SESSION['user'])) {
$user = '';
$pass = '';
if (isset($_POST['login'])) {
$user = strtolower(trim($_POST['user']));
$pass = $_POST['pass'];
$aUserLogin = array(
'piet1' => 'geheim1',
'piet2' => 'geheim2',
'piet3' => 'geheim3',
'piet4' => 'geheim4',
'piet5' => 'geheim5'
);
if( isset($aUserLogin[$user])
&& $aUserLogin[$user] == $pass )
{
// Login gegevens zijn goed
$_SESSION['user'] = $user;
}
else
{
// Login gegevens zijn fout
}
}
}
// Als gebruiker ingelogd is
if( isset($_SESSION['user']) )
{
//print_r($_SESSION['user']);
}
?>
<div id="headertext">
<p class="l">You are logged in as <strong><?php echo $user?></strong>.</p>
<p class="r"><a href="?action=logout">Logout</a></p>
</div>
<?php
if (isset($_POST['edit'])) {
if (file_put_contents('homecontent.txt', $_POST['homecontent']))
echo '<p class="succes">Your changes are saved.</p>', "\n";
}
$homecontent = file_get_contents('homecontent.txt');
?>
<form method="post" action="">
<p>Here you can edit your homepage text:</p>
<textarea name="homecontent" id="homecontent" rows="20" cols="55"><?php echo $homecontent?></textarea>
<p><button type="submit" name="edit">Save changes</button></p>
</form>
<?php } else {?>
<form method="post" action="" id="login">
<p>
<label for="user">Username:</label><input type="text" name="user" id="user" value="<?php echo $user?>" />
</p>
<p>
<label for="pass">Password:</label><input type="password" name="pass" id="pass" value="<?php echo $pass?>" />
</p>
<p>
<button type="submit" name="login">Login</button>
</p>
</form>
<?php }?>
</div>
</body>
</html>
Filip Van Daele op 30/09/2010 21:23:35:
blanco pagina...
Martijn's code heeft dan ook geen outpout, eh?
Code (php)
1
2
3
4
5
2
3
4
5
<?php
error_reporting(E_ALL | E_STRICT);
ini_set('display_errors', 1);
session_start();
?>
error_reporting(E_ALL | E_STRICT);
ini_set('display_errors', 1);
session_start();
?>
Geen uitvoor voor session_start() dus ook geen enters.
Thomas de Roo op 30/09/2010 21:52:09:
Martijn's code heeft dan ook geen outpout, eh?
Filip Van Daele op 30/09/2010 21:23:35:
blanco pagina...
Martijn's code heeft dan ook geen outpout, eh?
hehe ;D
Edit:
Je hebt een error in de code:
Zoek:
en vervang door:
Je moet dus een } verwijderen.
Je hebt een error in de code:
Zoek:
Code (php)
en vervang door:
Code (php)
Je moet dus een } verwijderen.
Gewijzigd op 30/09/2010 21:59:14 door Martijn B
aangepast zo, geen lege regels of zo, nog steeds blanco (500)
Zie edit ^^^^
Hartelijk dank iedereen (vooral Martijn ;-) )
Jullie hebben me voortreffelijk geholpen!
Beste groeten,
Filip