"Cannot modify header information" bij login
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
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
<?
if (!isset($_COOKIE['timere_user']) || !isset($_COOKIE['timere_pass'])){
if (isset($_POST['login_user']) && isset($_POST['login_pass'])) {
$_POST['login_user'] = addslashes($_POST['login_user']);
$_POST['login_pass'] = addslashes($_POST['login_pass']);
$_POST['login_user'] = htmlspecialchars($_POST['login_user']);
$_POST['login_pass'] = htmlspecialchars($_POST['login_pass']);
if ($_POST['login_user'] == "" || $_POST['login_pass'] == "") {
login_form();
login_error();
}
else {
$login_sql = mysql_query("SELECT * FROM users WHERE username='".$_POST['login_user']."' AND password='".md5($_POST['login_pass'])."'");
$login_num = mysql_num_rows($login_sql);
if (empty($login_num)){
login_form();
login_error();
}
else {
setcookie("timere_user", $_POST['login_user'], time() + 86400);
setcookie("timere_pass", md5($_POST['login_pass']), time() + 86400);
login_succes();
}
}
}
else {
login_form();
}
}
else {
$login_sql = mysql_query("SELECT * FROM users WHERE username='".$_COOKIE['timere_user']."' AND password='".$_COOKIE['timere_pass']."'");
$login_num = mysql_num_rows($login_sql);
if (empty($login_num)){
login_form();
login_error();
}
else {
login_succes();
}
}
function login_form() {
?>
<form name="contact" method="post" action="">
<div id="gebruikersnaam">Inloggen</div>
<input type="text" name="login_user" value="Username" onFocus="this.select()" size="50"><br />
<input type="password" name="login_pass" value="Password" onFocus="this.select()" size="50"><br />
<input type="submit" name="login" value="Inloggen">
</form>
<?
}
function login_succes() {
$login_sql = mysql_query("SELECT * FROM users WHERE username='".$_COOKIE['timere_user']."' AND password='".$_COOKIE['timere_pass']."'");
$login_arr = mysql_fetch_array($login_sql);
if (!empty($login_arr['avatar']) && file_exists("avatars/".$login_arr['avatar'])){
echo '<div id="avatar_frame" style="background-image:url(/avatars/'.$login_arr['avatar'].');"> </div>';
}
else {
echo '<div id="avatar_frame" style="background-image:url(/avatars/mooh.gif);"> </div>';
}
echo '<div id="profiel_tekst"><a onclick="'.setcookie("timere_user").'">Uitloggen</a></div>';
echo '<div id="gebruikersnaam">'.$login_arr['username'].' <img src="/flags/'.$login_arr['country'].'.gif" border="0" alt="'.$login_arr['country'].'" align="absmiddle" /></div>';
}
function login_error() {
?>
<div id="profiel_tekst" style="color:#FF0000;">An error incorrupted, please try again.</div>
<?
}
?>
if (!isset($_COOKIE['timere_user']) || !isset($_COOKIE['timere_pass'])){
if (isset($_POST['login_user']) && isset($_POST['login_pass'])) {
$_POST['login_user'] = addslashes($_POST['login_user']);
$_POST['login_pass'] = addslashes($_POST['login_pass']);
$_POST['login_user'] = htmlspecialchars($_POST['login_user']);
$_POST['login_pass'] = htmlspecialchars($_POST['login_pass']);
if ($_POST['login_user'] == "" || $_POST['login_pass'] == "") {
login_form();
login_error();
}
else {
$login_sql = mysql_query("SELECT * FROM users WHERE username='".$_POST['login_user']."' AND password='".md5($_POST['login_pass'])."'");
$login_num = mysql_num_rows($login_sql);
if (empty($login_num)){
login_form();
login_error();
}
else {
setcookie("timere_user", $_POST['login_user'], time() + 86400);
setcookie("timere_pass", md5($_POST['login_pass']), time() + 86400);
login_succes();
}
}
}
else {
login_form();
}
}
else {
$login_sql = mysql_query("SELECT * FROM users WHERE username='".$_COOKIE['timere_user']."' AND password='".$_COOKIE['timere_pass']."'");
$login_num = mysql_num_rows($login_sql);
if (empty($login_num)){
login_form();
login_error();
}
else {
login_succes();
}
}
function login_form() {
?>
<form name="contact" method="post" action="">
<div id="gebruikersnaam">Inloggen</div>
<input type="text" name="login_user" value="Username" onFocus="this.select()" size="50"><br />
<input type="password" name="login_pass" value="Password" onFocus="this.select()" size="50"><br />
<input type="submit" name="login" value="Inloggen">
</form>
<?
}
function login_succes() {
$login_sql = mysql_query("SELECT * FROM users WHERE username='".$_COOKIE['timere_user']."' AND password='".$_COOKIE['timere_pass']."'");
$login_arr = mysql_fetch_array($login_sql);
if (!empty($login_arr['avatar']) && file_exists("avatars/".$login_arr['avatar'])){
echo '<div id="avatar_frame" style="background-image:url(/avatars/'.$login_arr['avatar'].');"> </div>';
}
else {
echo '<div id="avatar_frame" style="background-image:url(/avatars/mooh.gif);"> </div>';
}
echo '<div id="profiel_tekst"><a onclick="'.setcookie("timere_user").'">Uitloggen</a></div>';
echo '<div id="gebruikersnaam">'.$login_arr['username'].' <img src="/flags/'.$login_arr['country'].'.gif" border="0" alt="'.$login_arr['country'].'" align="absmiddle" /></div>';
}
function login_error() {
?>
<div id="profiel_tekst" style="color:#FF0000;">An error incorrupted, please try again.</div>
<?
}
?>
Krijg ik de volgende errors:
Code (php)
1
2
3
2
3
Warning: Cannot modify header information - headers already sent by (output started at /home/jeffrey/domains/beklad.nl/public_html/timere/index.php:7) in /home/jeffrey/domains/beklad.nl/public_html/timere/files/login.php on line 22
Warning: Cannot modify header information - headers already sent by (output started at /home/jeffrey/domains/beklad.nl/public_html/timere/index.php:7) in /home/jeffrey/domains/beklad.nl/public_html/timere/files/login.php on line 23
Warning: Cannot modify header information - headers already sent by (output started at /home/jeffrey/domains/beklad.nl/public_html/timere/index.php:7) in /home/jeffrey/domains/beklad.nl/public_html/timere/files/login.php on line 66
Warning: Cannot modify header information - headers already sent by (output started at /home/jeffrey/domains/beklad.nl/public_html/timere/index.php:7) in /home/jeffrey/domains/beklad.nl/public_html/timere/files/login.php on line 23
Warning: Cannot modify header information - headers already sent by (output started at /home/jeffrey/domains/beklad.nl/public_html/timere/index.php:7) in /home/jeffrey/domains/beklad.nl/public_html/timere/files/login.php on line 66
nu kom ik deze error voor het eerst tegen en snap ik totaal niet waar het aan ligt, ik hoop dat jullie me kunnen helpen
alvast bedankt voor de moeite
Gewijzigd op 01/01/1970 01:00:00 door JeffreyG
en nog geeft hij de error...
nergens een header refresh ofzo?
nee, op de set_cookies loopt ie mis :)
niek schreef op 20.05.2007 18:56:
nee, op de set_cookies loopt ie mis :)
kan ook nog ja:p
en ik heb geen idee waarom hij bij setcookie vastloopt, iemand wel een idee?
Code (php)
Dat kan dus niet nee...
Je wil cker uitlogge, dan moet je gewoon een pagina logout.php maken en daarin die setcookie, php opdrachten kan je niet in de href van een hyperlink zetten...
Gewijzigd op 01/01/1970 01:00:00 door - -
cookies zijn voor de mensen zelf... dat word eerst gestuurt en daarvoor mag er geen output staan... HTML code tekst enz...
Jonathan schreef op 20.05.2007 20:16:
Uhm waar slaat dit op:
(regel 66)
Dat kan dus niet nee...
Je wil cker uitlogge, dan moet je gewoon een pagina logout.php maken en daarin die setcookie, php opdrachten kan je niet in de href van een hyperlink zetten...
Code (php)
Dat kan dus niet nee...
Je wil cker uitlogge, dan moet je gewoon een pagina logout.php maken en daarin die setcookie, php opdrachten kan je niet in de href van een hyperlink zetten...
okay dat gedeelte heb ik verwijderd
zorgt er dus voor dat er één error minder is
maar die andere setcookies zijn noodzakelijk, dus anyone?
mebus schreef op 20.05.2007 20:16:
cookies zijn voor de mensen zelf... dat word eerst gestuurt en daarvoor mag er geen output staan... HTML code tekst enz...
mag er voor de rest ook geen HTML in de pagina staan?
Gewijzigd op 01/01/1970 01:00:00 door JeffreyG
Edit:
M'n zinsopbouw klopt voor geen reet en heb morgen nl examens...
Gewijzigd op 01/01/1970 01:00:00 door Mebus Hackintosh
maar we zijn weer een stap verder :)
Edit:
als niemand dit op kan lossen gebruik ik anders wel sessions, alleen dan blijf je maar 24 minuten ingelogd... weet iemand hoe ik deze tijd kan verlengen?
als niemand dit op kan lossen gebruik ik anders wel sessions, alleen dan blijf je maar 24 minuten ingelogd... weet iemand hoe ik deze tijd kan verlengen?
Gewijzigd op 01/01/1970 01:00:00 door JeffreyG
anders moet je heel vanboven in je script ob_start() plaatsen en heel op het einde ob_end_flush()...
nee dat moet je niet. dat is geen oplossing
waarom niet als ik vragen mag? :)
davy schreef op 21.05.2007 15:22:
waarom niet als ik vragen mag? :)
Het niet netjes is... En het zo gewoon niet hoord...
omdat het hetzelfde is als je fietsband plakken met plakband. dat wil ook best met grof geweld maar je gaat hetzelfde probleem wel weer tegenkomen en dan ben je niets wijzer
dan weet ik dat ook weer dat het beter niet op die manier mag!
thx
ik mocht dus blijkbaar niet het script includen in mijn index op de gewenste plaats...
in ieder geval bedankt voor de moeite van iedereen :)