Probleem met sessions!
check.php
Code (php)
1
2
3
4
2
3
4
<?PHP
session_start();
if($_SESSION['login'] != 'yes') die('Je bent niet ingelogd, <a href="http://www.teamcrafted.tk/browsergame/index.php">klik hier</a> om in te loggen.');
?>
session_start();
if($_SESSION['login'] != 'yes') die('Je bent niet ingelogd, <a href="http://www.teamcrafted.tk/browsergame/index.php">klik hier</a> om in te loggen.');
?>
funcs.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
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
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
<?php
error_reporting('NOTICE');
require 'config/mysql.php';
function login() {
session_start();
$email = $_POST['email'];
$password = $_POST['password'];
$query = mysql_query("SELECT * FROM `logins` WHERE `email`='$email' AND `password`='$password'");
$errors = array();
if (empty($email)) {
$errors[] = 'The email textbox cannot be blank/has to be valid.';
}
if (empty($password)) {
$errors[] = 'The password textbox cannot be blank.';
}
if (strlen($password) > 20) {
$errors[] = 'The password textbox cannot have characters longer than 20.';
}
if ($errors==true) {
foreach ($errors as $error) {
echo $error.'<br />';
}
} else {
if (mysql_num_rows($query)==true) {
echo 'Ingelogd! We sturen u zometeen door naar de game pagina.';
$_SESSION['login'] = 'yes';
header('location: game.php');
} else {
echo 'Login mislukt';
}
}
}
function signup() {
$userName = $_POST['userName'];
$firstName = $_POST['firstName'];
$lastName = $_POST['lastName'];
$email = $_POST['email'];
$day = $_POST['day'];
$month = $_POST['month'];
$year = $_POST['year'];
$password = $_POST['password'];
$query = mysql_query("INSERT INTO logins VALUES('','$email','$password','','$userName','$firstName','$lastName','$day','$month','$year')") or die(mysql_error());
$errors = array();
if (empty($userName)) {
$errors[] = 'Je gebruikersnaam moet volledig.';
}
if (empty($firstName)) {
$errors[] = 'Je voornaam moet volledig zijn.';
}
if (empty($lastName)) {
$errors[] = 'Je achternaam moet volledig zijn.';
}
if (empty($email)) {
$errors[] = 'Je email moet volledig zijn.';
}
if (empty($day)) {
$errors[] = 'Je moet een dag ingeven.';
}
if (empty($month)) {
$errors[] = 'Je moet een maand ingeven.';
}
if (empty($year)) {
$errors[] = 'Je moet een jaar ingeven.';
}
if (empty($password)) {
$errors[] = 'Je wachtwoord moet volledig zijn.';
}
if (strlen($pass) > 20) {
$errors[] = 'Je wachtwoord kan niet langer dan 20 tekens zijn.';
}
if ($errors==true) {
foreach ($errors as $error) {
echo $error.'<br />';
}
} else {
if (mysql_num_rows($query)==true) {
echo 'Oooooeeeps! Er is iets fout gelopen bij de registratie waardoor je niet bent geregistreerd! Gebeurt dit meermaals neem dan contact op.';
} else {
echo 'Je bent Succesvol gerigistreerd! Je kan nu inloggen.';
}
}
}
?>
error_reporting('NOTICE');
require 'config/mysql.php';
function login() {
session_start();
$email = $_POST['email'];
$password = $_POST['password'];
$query = mysql_query("SELECT * FROM `logins` WHERE `email`='$email' AND `password`='$password'");
$errors = array();
if (empty($email)) {
$errors[] = 'The email textbox cannot be blank/has to be valid.';
}
if (empty($password)) {
$errors[] = 'The password textbox cannot be blank.';
}
if (strlen($password) > 20) {
$errors[] = 'The password textbox cannot have characters longer than 20.';
}
if ($errors==true) {
foreach ($errors as $error) {
echo $error.'<br />';
}
} else {
if (mysql_num_rows($query)==true) {
echo 'Ingelogd! We sturen u zometeen door naar de game pagina.';
$_SESSION['login'] = 'yes';
header('location: game.php');
} else {
echo 'Login mislukt';
}
}
}
function signup() {
$userName = $_POST['userName'];
$firstName = $_POST['firstName'];
$lastName = $_POST['lastName'];
$email = $_POST['email'];
$day = $_POST['day'];
$month = $_POST['month'];
$year = $_POST['year'];
$password = $_POST['password'];
$query = mysql_query("INSERT INTO logins VALUES('','$email','$password','','$userName','$firstName','$lastName','$day','$month','$year')") or die(mysql_error());
$errors = array();
if (empty($userName)) {
$errors[] = 'Je gebruikersnaam moet volledig.';
}
if (empty($firstName)) {
$errors[] = 'Je voornaam moet volledig zijn.';
}
if (empty($lastName)) {
$errors[] = 'Je achternaam moet volledig zijn.';
}
if (empty($email)) {
$errors[] = 'Je email moet volledig zijn.';
}
if (empty($day)) {
$errors[] = 'Je moet een dag ingeven.';
}
if (empty($month)) {
$errors[] = 'Je moet een maand ingeven.';
}
if (empty($year)) {
$errors[] = 'Je moet een jaar ingeven.';
}
if (empty($password)) {
$errors[] = 'Je wachtwoord moet volledig zijn.';
}
if (strlen($pass) > 20) {
$errors[] = 'Je wachtwoord kan niet langer dan 20 tekens zijn.';
}
if ($errors==true) {
foreach ($errors as $error) {
echo $error.'<br />';
}
} else {
if (mysql_num_rows($query)==true) {
echo 'Oooooeeeps! Er is iets fout gelopen bij de registratie waardoor je niet bent geregistreerd! Gebeurt dit meermaals neem dan contact op.';
} else {
echo 'Je bent Succesvol gerigistreerd! Je kan nu inloggen.';
}
}
}
?>
game.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
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?php
//Hierbij kijken we of de user is ingelogd.
include('check.php');
?>
<!DOCTYPE html>
<html>
<head>
<title>TeamCrafted: Kies je game!</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" type="text/css" href="http://www.teamcrafted.tk/browsergame/css/game.css">
</head>
<body>
<?php include_once("header.php"); ?>
<div class="content">
<h1>Kies je game:</h1>
<div>
<p>Welkom op onze browsergame website!</p>
<p>Hieronder kan je een browsergame naar keuze uikiezen.</p>
</div>
</div>
</body>
</html>
//Hierbij kijken we of de user is ingelogd.
include('check.php');
?>
<!DOCTYPE html>
<html>
<head>
<title>TeamCrafted: Kies je game!</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" type="text/css" href="http://www.teamcrafted.tk/browsergame/css/game.css">
</head>
<body>
<?php include_once("header.php"); ?>
<div class="content">
<h1>Kies je game:</h1>
<div>
<p>Welkom op onze browsergame website!</p>
<p>Hieronder kan je een browsergame naar keuze uikiezen.</p>
</div>
</div>
</body>
</html>
Ik denk dat deze files voldoende zijn.
Christophe
Edit: Ik ben nog bezig met het invoegen van lege velden in database uit te schakelen.
Gewijzigd op 01/07/2014 12:19:55 door John De Zon
Daarnaast zie ik geen controle of er iets gepost is.
maar hoe moet de functies login() en signup() ooit werken? je voert ze namelijk niet uit
dus dan is het best logies dat je niet kan inloggen
Gewijzigd op 01/07/2014 15:47:59 door christian k
Toevoeging op 01/07/2014 15:50:35:
En dit logout script werkt ook niet:
Dat is toch juist de bedoeling van uitloggen?
Bovenaan je uitlogscript moet ook nog session_start() staan, heb je dat?
SQL-injection mogelijkheid, validatie bij je variabelen, onnodig variabelen kopiëren, mysqli gebruiken etc....