Ik ben al eventjes bezig om vanuit een bestaande login script een eenvoudig gebruikerssysteem te maken. Nu krijg ik na mijn login steeds de melding"Cannot modify header information". Uiteraard ben ik daarmee op internet naar aan het zoeken geweest en ik weet dan ook dat ik geen echo's voor de header moet zetten. Toch krijg ik wel nog steeds deze error.
Dit is de bron:
En het probleem speelt zich af (volgens de error) bij:
Wat doe ik nou fout? Want na enkele uurtje prutsen wil het nog steeds maar niet lukken...
Dit is de bron:
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
108
109
110
| <?php //error_reporting( E_ERROR ); // Connects to your Database include ("includes/mysqlconnect.php"); //Checks if there is a login cookie if(isset($_COOKIE['ID_my_site'])) //if there is, it logs you in and directes you to the members page { $gebruikersnaam = mysql_real_escape_string( $_COOKIE['ID_my_site'] ); $wachtwoord = mysql_real_escape_string ($_COOKIE['Key_my_site'] ); $check = mysql_query("SELECT * FROM gebruikers WHERE gebruikersnaam = '$gebruikersnaam'")or die(mysql_error()); while($info = mysql_fetch_array( $check )) { if ($wachtwoord != $info['wachtwoord']) { } else { header("Location: index.php?page=gebruikers"); } } } //if the login form is submitted if (isset($_POST['submit'])) { // if form has been submitted // makes sure they filled it in if(!$_POST['gebruikersnaam'] | !$_POST['wachtwoord']) { die('Uw inloggegevens zijn onjuist. Probeer het <a href="index.php?page=login">opnieuw</a>.'); } // checks it against the database if (!get_magic_quotes_gpc()) { $_POST['gebruikersnaam'] = addslashes($_POST['gebruikersnaam']); } $check = mysql_query("SELECT * FROM gebruikers WHERE gebruikersnaam = '".mysql_real_escape_string($_POST['gebruikersnaam'])."'")or die(mysql_error()); //Gives error if user doesn't exist $check2 = mysql_num_rows($check); if ($check2 == 0) { die('Uw inloggegevens zijn onjuist. Probeer het <a href="index.php?page=login">opnieuw</a>.'); } while($info = mysql_fetch_array( $check )) { $_POST['wachtwoord'] = stripslashes($_POST['wachtwoord']); $info['wachtwoord'] = stripslashes($info['wachtwoord']); $_POST['wachtwoord'] = sha1($_POST['wachtwoord']); //gives error if the password is wrong if ($_POST['wachtwoord'] != $info['wachtwoord']) { die('Uw inloggegevens zijn onjuist. Probeer het <a href="index.php?page=login">opnieuw</a>.'); } else { // if login is ok then we add a cookie $_POST['gebruikersnaam'] = stripslashes($_POST['gebruikersnaam']); $hour = time() + 3600; setcookie(ID_my_site, $_POST['gebruikersnaam'], $hour); setcookie(Key_my_site, $_POST['wachtwoord'], $hour); //then redirect them to the members area header("Location: index.php?page=gebruikers"); exit; //include('content/gebruikers.php'); //echo "U bent ingelogd, welkom!"; } } } else { // if they are not logged in ?> <form action="<?php echo $_SERVER['PHP_SELF']?>" method="post"> <table> <tr><td colspan="3"><h1>InhollandAir - Login</h1></td></tr> <tr><td>E-mail</td><td>:</td><td><input type="text" name="gebruikersnaam" maxlength="40"></td></tr> <tr><td>Wachtwoord</td><td>:</td><td><input type="password" name="wachtwoord" maxlength="50"></td></tr> <tr><td> </td><td> </td><td><input type="submit" name="submit" value="Login"></td></tr> <tr><td> </td><td> </td><td> </td></tr> <tr><td colspan="3" align="center">Heeft u nog geen account? <a href="index.php?page=registreer">Registreren</a>.</td></tr> </table> </form> <?php } ?> |
En het probleem speelt zich af (volgens de error) bij:
PHP:
1
2
3
4
5
| setcookie(ID_my_site, $_POST['gebruikersnaam'], $hour); setcookie(Key_my_site, $_POST['wachtwoord'], $hour); //then redirect them to the members area header("Location: index.php?page=gebruikers"); |
Wat doe ik nou fout? Want na enkele uurtje prutsen wil het nog steeds maar niet lukken...