Waar let je op bij een login systeem
hoe kan ik nu doen dat wanneer admin 1 inlogt er komt te staan welkom admin 1
of als 2 inlogt welkom admin 2
----------------------------------------------------------------------------------------------
edit: ik weet niet wat er nu fout gaat maar nu kan ik wel weer via mijn browser balk naar admin.php ik heb het script wat ik in mijn vorige reactie geplaatst gekopiëerd om te kijken of en nu een fout zat in het nieuwe maar dit is niet het geval als ik het script letterlijk kopieer en plak kan ik weer via mijn browser balk naar admin.php
----------------------------------------------------------------------------------------------
edit 2: ik heb nog een keer gekeken en kwam erachter dat in microsoft edge het wel werkt maar in chrome niet nadat ik de volgende regels php toevoegde kon ik ook weer via mijn browserbalk naar admin.php
Code (php)
1
2
3
2
3
// Juiste gebruikersnaam en wachtwoord: inloggen!
$_SESSION['logged_in'] = true;
$_SESSION['gebruiker'] = $sGebruiker;
$_SESSION['logged_in'] = true;
$_SESSION['gebruiker'] = $sGebruiker;
Gewijzigd op 11/02/2016 21:14:15 door soccertime website
Ik wil je toch nog eens vriendelijk vragen om die tutorial nog eens door te nemen. Daarin wordt beschreven hoe je de techniek achter sessies kan integreren in een inlogsysteen.
- Ariën - op 11/02/2016 21:13:34:
Ik wil je toch nog eens vriendelijk vragen om die tutorial nog eens door te nemen. Daarin wordt beschreven hoe je de techniek achter sessies kan integreren in een inlogsysteen.
ik ben nu al de hele tijd bezig met die tutorial sinds ik die link heb gekregen
maar ik kom er gewoon niet uit wat ik fout doe,
het volgende gaat nu mis je kon niet meer via de browserbalk naar admin.php
maar nu kon je ook niet meer inloggen.
dus ging ik naar de tutorial toen kwam ik deze regels php tegen daarmee zou het volgens mij opgelost moeten zijn
Code (php)
1
2
3
2
3
// Juiste gebruikersnaam en wachtwoord: inloggen!
$_SESSION['logged_in'] = true;
$_SESSION['gebruiker'] = $sGebruiker;
$_SESSION['logged_in'] = true;
$_SESSION['gebruiker'] = $sGebruiker;
deze regels plaatste ik op regel 19 boven header(location: admin.php)
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
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
<?php
session_start();
// Controle of het formulier verzonden is
if($_SERVER['REQUEST_METHOD'] == 'POST')
// Controle of benodigde velden wel ingevuld zijn
if(isset($_POST['name'], $_POST['pass']))
$con= mysqli_connect('127.0.0.1','root','','lgt');
if(isset($_POST['login'])){
$name= mysqli_real_escape_string($con,$_POST['name']);
$password= mysqli_real_escape_string($con,$_POST['pass']);
$select_user="SELECT * FROM user WHERE naam ='$name' AND wachtwoord ='$password' ";
$run_user= mysqli_query($con, $select_user);
$check_user= mysqli_num_rows($run_user);
if($check_user>0){
header('location: admin.php');
} else {
echo 'uw naam en/of gebruikersnaam kloppen niet';
}
}
?>
<!doctype html>
<html>
<head>
<title>loginscript test</title>
</head>
<body>
<form action="" method="post">
Naam: <br/> <input type="name" name="name" value=""/><br/>
Wachtwoord: <br/> <input type="password" name="pass" value=""/><br />
<input type="submit" value="inloggen" name="login">
</form>
</body>
</html>
session_start();
// Controle of het formulier verzonden is
if($_SERVER['REQUEST_METHOD'] == 'POST')
// Controle of benodigde velden wel ingevuld zijn
if(isset($_POST['name'], $_POST['pass']))
$con= mysqli_connect('127.0.0.1','root','','lgt');
if(isset($_POST['login'])){
$name= mysqli_real_escape_string($con,$_POST['name']);
$password= mysqli_real_escape_string($con,$_POST['pass']);
$select_user="SELECT * FROM user WHERE naam ='$name' AND wachtwoord ='$password' ";
$run_user= mysqli_query($con, $select_user);
$check_user= mysqli_num_rows($run_user);
if($check_user>0){
header('location: admin.php');
} else {
echo 'uw naam en/of gebruikersnaam kloppen niet';
}
}
?>
<!doctype html>
<html>
<head>
<title>loginscript test</title>
</head>
<body>
<form action="" method="post">
Naam: <br/> <input type="name" name="name" value=""/><br/>
Wachtwoord: <br/> <input type="password" name="pass" value=""/><br />
<input type="submit" value="inloggen" name="login">
</form>
</body>
</html>
nadat ik dit gedaan heb kon ik weer inloggen maar kon ik ook weer via de browserbalk naar admin.php
Gewijzigd op 11/02/2016 21:20:27 door soccertime website
Daarmee maak je die sessies aan, inderdaad!
maar nu kan ik ook weer via mijn browserbalk naar admin.php
Je slaat een wachtwoord zonder encryptie op in de database?
dit snap ik niet?
zoals al eerder uitgelegd.
Je vergeet ongeveer alles waar je op zou moeten letten bij een veilig loginsysteem to be fair...
Na een header('Location: ...') dient bijna altijd een "exit" te staan Je vergeet ongeveer alles waar je op zou moeten letten bij een veilig loginsysteem to be fair...
Oke hier zal ik naar gaan kijken maar wat gaat er nu eigenlijk mis bij het aanmaken van de sessies waardoor ik weer admin.php in mijn browser balk kan krijgen
Iedereen kan intypen in zijn of haar adresbalk wat zij willen. De scripts op die locatie moeten afgeschermd worden middels code zodat alleen bevoegden bepaalde code uit kunnen voeren maar iedereen staat vrij om het script aan te roepen - wat dit script verder doet bepaal jij door wat je programmeert.
Code (php)
1
2
3
2
3
// Juiste gebruikersnaam en wachtwoord: inloggen!
$_SESSION['logged_in'] = true;
$_SESSION['gebruiker'] = $sGebruiker;
$_SESSION['logged_in'] = true;
$_SESSION['gebruiker'] = $sGebruiker;
voor het stukje php
nu kan ik ook weer inloggen maar kan ik ook weer via mijn browser balk admin.php invullen en er naartoe gaan zonder in te loggen.
wat gaat er in deze stap fout
je laatste grote codeblok is alleen van je inlogpagina.
Je hebt net een zwik code geschreven om dingen over verschillende pagina's te onthouden middels een sessie, maak hier dan ook gebruik van? Oftewel, voer in admin.php controles uit op $_SESSION en besluit op grond hiervan wat iemand met deze pagina kan doen.
Ik maak hier (wederom) uit op dat je nog niet echt een gevoel hebt hoe deze principes werken of hoe je ze kunt toepassen, maar wellicht komt dat nog.
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
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
<?php
session_start();
// Controle of het formulier verzonden is
if($_SERVER['REQUEST_METHOD'] == 'POST')
// Controle of benodigde velden wel ingevuld zijn
if(isset($_POST['name'], $_POST['pass']))
$con= mysqli_connect('127.0.0.1','root','','lgt');
if(isset($_POST['login'])){
$name= mysqli_real_escape_string($con,$_POST['name']);
$password= mysqli_real_escape_string($con,$_POST['pass']);
$select_user="SELECT * FROM user WHERE naam ='$name' AND wachtwoord ='$password' ";
$run_user= mysqli_query($con, $select_user);
$check_user= mysqli_num_rows($run_user);
if($check_user>0){
// Juiste gebruikersnaam en wachtwoord: inloggen!
$_SESSION['loggin'] = true;
$_SESSION['gebruiker'] = $sGebruiker;
header('location: admin.php');
exit();
} else {
echo 'uw naam en/of gebruikersnaam kloppen niet';
}
}
?>
<!doctype html>
<html>
<head>
<title>loginscript test</title>
<link rel="stylesheet" href="css/main.css">
<meta name="viewport" content="width=device-width,initial-scale=1.0">
</head>
<body>
<form action="" method="post">
Naam: <br/> <input type="name" name="name" value="" class="input"/><br/>
Wachtwoord: <br/> <input type="password" name="pass" value="" class="input"/><br />
<input type="submit" value="inloggen" name="login">
</form>
</body>
</html>
session_start();
// Controle of het formulier verzonden is
if($_SERVER['REQUEST_METHOD'] == 'POST')
// Controle of benodigde velden wel ingevuld zijn
if(isset($_POST['name'], $_POST['pass']))
$con= mysqli_connect('127.0.0.1','root','','lgt');
if(isset($_POST['login'])){
$name= mysqli_real_escape_string($con,$_POST['name']);
$password= mysqli_real_escape_string($con,$_POST['pass']);
$select_user="SELECT * FROM user WHERE naam ='$name' AND wachtwoord ='$password' ";
$run_user= mysqli_query($con, $select_user);
$check_user= mysqli_num_rows($run_user);
if($check_user>0){
// Juiste gebruikersnaam en wachtwoord: inloggen!
$_SESSION['loggin'] = true;
$_SESSION['gebruiker'] = $sGebruiker;
header('location: admin.php');
exit();
} else {
echo 'uw naam en/of gebruikersnaam kloppen niet';
}
}
?>
<!doctype html>
<html>
<head>
<title>loginscript test</title>
<link rel="stylesheet" href="css/main.css">
<meta name="viewport" content="width=device-width,initial-scale=1.0">
</head>
<body>
<form action="" method="post">
Naam: <br/> <input type="name" name="name" value="" class="input"/><br/>
Wachtwoord: <br/> <input type="password" name="pass" value="" class="input"/><br />
<input type="submit" value="inloggen" name="login">
</form>
</body>
</html>
en dit is mijn admin.php
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
// We werken ook hier met sessies
session_start();
// Controleren of de bezoeker ingelogd is
if(!isset($_SESSION['logged_in']) || $_SESSION['logged_in'] == false)
{
header('Location: login.php');
exit();
}
?>
<!doctype html>
<html>
<head>
<title>loginscript test</title>
<link rel="stylesheet" href="css/main.css">
<meta name="viewport" content="width=device-width,initial-scale=1.0">
</head>
<body>
<h1>Welkom admin</h1>
</body>
</html>
// We werken ook hier met sessies
session_start();
// Controleren of de bezoeker ingelogd is
if(!isset($_SESSION['logged_in']) || $_SESSION['logged_in'] == false)
{
header('Location: login.php');
exit();
}
?>
<!doctype html>
<html>
<head>
<title>loginscript test</title>
<link rel="stylesheet" href="css/main.css">
<meta name="viewport" content="width=device-width,initial-scale=1.0">
</head>
<body>
<h1>Welkom admin</h1>
</body>
</html>
Toevoeging op 12/02/2016 20:16:37:
laat maar zitten ik heb nu door wat er fout ging ik was in admin.php vergeten de session logged_in te veranderen naar login (facepalm)
Toevoeging op 12/02/2016 20:27:40:
ik kijk nu een beetje op internet naar een uitlog knop maar vind allemaal verschillende soorten wat zouden jullie aanraden om te gebruiken
Eentje die bij je design past.
ik bedoel de werking ervan niet het uiterlijk
Gebruik gewoon altijd de {} dan zit je altijd goed.