Ik zit met een vreemd probleem.
Ik ben bezig om voor mezelf een site in elkaar te zetten (beetje pielen en kijken hoever ik daarmee kom).
Nu wil ik graag een inlogpagina daarvoor hebben zodat niet iedereen zomaar overal bij kan komen (er staat nog neits, dat terzijde).
Met de onderstaande pagina kan ik wel inloggen en wordt ik redirected naar de admin/index.php pagina.
Gebruik ik echter onderstaande code, welke er wat gelikter uitziet, dan werkt het niet.
Als ik hierop probeer in te loggen, kom ik weer gewoon op de index.php pagina zelf uit, en niet de admin/index.php
Ook als ik het form-gedeelte van de onderste code vervang door de form-code uit de bovenste werkt het niet, dat terwijl de PHP-code verder hetzelfde is.
Vervang ik de form-code uit het bovenste bestand door die van de onderste, dan blijft het werken.
Er zit dus iets in de onderste code waarom het niet werkt, maar ik ben er nu al zo lang mee bezig dat ik door de bomen de speld in het bos niet meer zie.
Iemand die ziet waarom de onderste code niet werkt.
Ik ben bezig om voor mezelf een site in elkaar te zetten (beetje pielen en kijken hoever ik daarmee kom).
Nu wil ik graag een inlogpagina daarvoor hebben zodat niet iedereen zomaar overal bij kan komen (er staat nog neits, dat terzijde).
Met de onderstaande pagina kan ik wel inloggen en wordt ik redirected naar de admin/index.php pagina.
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
| <?php session_start(); if(isset($_SESSION['usr_id'])!="") { header("Location: index.php"); } include_once 'db.php'; //check if form is submitted if (isset($_POST['login'])) { $email = mysqli_real_escape_string($sql_conn, $_POST['email']); $password = mysqli_real_escape_string($sql_conn, $_POST['password']); $result = mysqli_query($sql_conn, "SELECT * FROM tbl_users WHERE username = '$email' and password = md5('$password')"); if ($row = mysqli_fetch_array($result)) { $_SESSION['usr_id'] = $row['userid']; $_SESSION['usr_name'] = $row['name']; $msg = "Succesfully logged in!!!"; header("Location: admin/index.php"); } else { $errormsg = "Incorrect Email or Password!!!"; } } ?> <!DOCTYPE html> <html> <head> <title>PHP Login Script</title> <meta content="width=device-width, initial-scale=1.0" name="viewport" > <link rel="stylesheet" href="css/bootstrap.min.css" type="text/css" /> </head> <body> <nav class="navbar navbar-default" role="navigation"> <div class="container-fluid"> <!-- add header --> <div class="navbar-header"> <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#navbar1"> <span class="sr-only">Toggle navigation</span> <span class="icon-bar"></span> <span class="icon-bar"></span> <span class="icon-bar"></span> </button> <a class="navbar-brand" href="index.php">Koding Made Simple</a> </div> <!-- menu items --> <div class="collapse navbar-collapse" id="navbar1"> <ul class="nav navbar-nav navbar-right"> <li class="active"><a href="login.php">Login</a></li> <li><a href="register.php">Sign Up</a></li> </ul> <span class="text-info"><?php if (isset($msg)) { echo $msg; } ?></span> </div> </div> </nav> <div class="container"> <div class="row"> <div class="col-md-4 col-md-offset-4 well"> <form role="form" action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" name="loginform"> <fieldset> <legend>Login</legend> <div class="form-group"> <label for="name">Email</label> <input type="text" name="email" placeholder="Your Email" required class="form-control" /> </div> <div class="form-group"> <label for="name">Password</label> <input type="password" name="password" placeholder="Your Password" required class="form-control" /> </div> <div class="form-group"> <input type="submit" name="login" value="Login" class="btn btn-primary" /> </div> </fieldset> </form> <!-- <span class="text-danger"><?php if (isset($errormsg)) { echo $errormsg; } ?></span> --> </div> </div> <!-- <div class="row"> <div class="col-md-4 col-md-offset-4 text-center"> New User? <a href="register.php">Sign Up Here</a> </div> </div> --> </div> <script src="js/jquery-1.10.2.js"></script> <script src="js/bootstrap.min.js"></script> </body> </html> |
Gebruik ik echter onderstaande code, welke er wat gelikter uitziet, dan werkt het niet.
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
| <?php session_start(); if(isset($_SESSION['usr_id'])!="") { header("Location: index.php"); } include_once 'db.php'; //check if form is submitted if (isset($_POST['login'])) { $email = mysqli_real_escape_string($sql_conn, $_POST['email']); $password = mysqli_real_escape_string($sql_conn, $_POST['password']); $result = mysqli_query($sql_conn, "SELECT * FROM tbl_users WHERE username = '$email' and password = md5('$password')"); if ($row = mysqli_fetch_array($result)) { $_SESSION['usr_id'] = $row['userid']; $_SESSION['usr_name'] = $row['name']; $msg = "Succesfully logged in!!!"; header("Location: admin/index.php"); } else { $errormsg = "Incorrect Email or Password!!!"; } } ?> <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1"> <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags --> <meta name="description" content=""> <meta name="author" content=""> <link rel="icon" href="images/favicon.ico"> <title>Homepage - Login</title> <!-- Bootstrap core CSS --> <link href="css/bootstrap.min.css" rel="stylesheet"> <!-- Custom styles for this template --> <link href="css/signin.css" rel="stylesheet"> </head> <body> <div class="container"> <form class="form-signin" role="form" action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" name="loginform"> <h2 class="form-signin-heading">Please sign in</h2> <label for="email" class="sr-only">Email address</label> <input type="email" name="email" required class="form-control" placeholder="Email address" required autofocus="true"> <label for="password" class="sr-only">Password</label> <input type="password" name="password" required class="form-control" placeholder="Password" required> <button class="btn btn-lg btn-primary btn-block" type="submit" name="login" value="Login" >Sign in</button> <!-- <p class="form-signin bg-danger"><?php if (isset($errormsg)) { echo $errormsg; } ?></p> --> </form> </div> </body> </html> |
Als ik hierop probeer in te loggen, kom ik weer gewoon op de index.php pagina zelf uit, en niet de admin/index.php
Ook als ik het form-gedeelte van de onderste code vervang door de form-code uit de bovenste werkt het niet, dat terwijl de PHP-code verder hetzelfde is.
Vervang ik de form-code uit het bovenste bestand door die van de onderste, dan blijft het werken.
Er zit dus iets in de onderste code waarom het niet werkt, maar ik ben er nu al zo lang mee bezig dat ik door de bomen de speld in het bos niet meer zie.
Iemand die ziet waarom de onderste code niet werkt.