Beste devschuur, ik heb een probleem met de code van een login-scherm.
Alles werkt en wilt goed inloggen. Waarna ik de gebruiker wil redirecten naar waar hij vandaan kwam (doormiddel van $_GET['redirect']). Dit werkt niet.
Ik krijg de variabel en kan die ook echo'en (zie lijn 5). Maar als ik hem in de header('location:") wil zetten, dan lijkt de variabel leeg (zie lijn 40).
Hier is de code:
Ik hoop dat jullie zien wat ik fout doe
.
Alvast bedankt!
Alles werkt en wilt goed inloggen. Waarna ik de gebruiker wil redirecten naar waar hij vandaan kwam (doormiddel van $_GET['redirect']). Dit werkt niet.
Ik krijg de variabel en kan die ook echo'en (zie lijn 5). Maar als ik hem in de header('location:") wil zetten, dan lijkt de variabel leeg (zie lijn 40).
Hier is de 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
| <?php session_start(); $redir = $_GET['redirect']; //hij print wel gewoon de variable echo $redir; if($_POST) { require_once 'misc/php/config.php'; $username = $_POST['username']; $password = $_POST['password']; $conn = mysql_connect($dbhost,$dbuser,$dbpass) or die ('Error connecting to mysql'); mysql_select_db($dbname); $query = sprintf("SELECT COUNT(id) FROM users WHERE UPPER(username) = UPPER('%s') AND password='%s'", mysql_real_escape_string($username), mysql_real_escape_string(md5($password))); $result = mysql_query($query); list($count) = mysql_fetch_row($result); if($count == 1) { $_SESSION['authenticated'] = true; $_SESSION['username'] = $username; $_SESSION['admin'] = false; $query = sprintf("UPDATE users SET last_login = NOW() WHERE UPPER(username) = UPPER('%s') AND password = '%s'", mysql_real_escape_string($username), mysql_real_escape_string(md5($password))); mysql_query($query); $result = mysql_query($query); //registreert het ip-adres $last_ip = $_SERVER['REMOTE_ADDR']; $query = mysql_query(" UPDATE users SET last_ip = '$last_ip' WHERE username='$username' ") or die(mysql_error()); ; //checkt of de gebruiker gebanned is $result = mysql_query(" SELECT * FROM banned WHERE UPPER(username) = UPPER('$username') ") ; $row = mysql_fetch_array( $result ); if ($row['game_ban'] == '1') { $succes = "Je bent gebanned voor de komende " . $row['banned_for'] . " dagen.</font></b></label>Reden:<br><label><b><font color=white>" . $row['banned_why'] . "</font></b></label><br>"; $_SESSION['authenticated'] = false; } else { //dit is het stukje code dat niet wil, de variable is hier opeens leeg header("location:" . urlencode($redir) . ".php");} } else { $succes = "Gebruikersnaam of wachtwoord is incorrect.";} } ?> |
Ik hoop dat jullie zien wat ik fout doe
Alvast bedankt!