header already sent
Dit is de fout:
Warning: Cannot modify header information - headers already sent by (output started at /customers/test.be/httpd.www/php/loginsysteem/login.php:1) in /customers/test.be/httpd.www/php/loginsysteem/login.php on line 10
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
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
<?php
require_once('login_funcs.inc');
$submit= $_POST['submit'];
if($submit == 'login')
{
//$feedback= user_login();
/*feedback even 1 geven zodat de header toch wordt aangeroepen zonder user_login() te gebruiken*/$feedback=1;
if ($feedback == 1)
{
header("Location: index.php");
} else
{
$feedback_str="<p>$feedback</p>";
}
} else
{
$feedback_str="";
}
//formulier tonen
$php_self=$_SERVER['PHP_SELF'];
$login_form = <<< EOLOGIN
<br/>
$feedback_str
<br/>
LOGIN
<br/>
<form method="POST" action="$php_self">
Gebruikersnaam:
<br/><input type="text" name="user_name" value="" size="10" />
<br/>Paswoord:
<br/><input type="password" name="password" value="" size="10" />
<br/><input type="submit" name="submit" value="login" size="10" />
</form>
EOLOGIN;
echo $login_form;
?>
require_once('login_funcs.inc');
$submit= $_POST['submit'];
if($submit == 'login')
{
//$feedback= user_login();
/*feedback even 1 geven zodat de header toch wordt aangeroepen zonder user_login() te gebruiken*/$feedback=1;
if ($feedback == 1)
{
header("Location: index.php");
} else
{
$feedback_str="<p>$feedback</p>";
}
} else
{
$feedback_str="";
}
//formulier tonen
$php_self=$_SERVER['PHP_SELF'];
$login_form = <<< EOLOGIN
<br/>
$feedback_str
<br/>
LOGIN
<br/>
<form method="POST" action="$php_self">
Gebruikersnaam:
<br/><input type="text" name="user_name" value="" size="10" />
<br/>Paswoord:
<br/><input type="password" name="password" value="" size="10" />
<br/><input type="submit" name="submit" value="login" size="10" />
</form>
EOLOGIN;
echo $login_form;
?>
Gewijzigd op 01/01/1970 01:00:00 door Thorbon
ja heb het ook al bekeken maar het lukt me maar niet
Niet ergens een verdwaalde spatie? Niet bijvoorbeeld een echo in login_funcs.inc?
nee want heb die require_once('login_funcs') al eens als commentaar gezet maar hij blijft het maar geven die fout..
Offtopic:
$submit= $_POST['submit'];
dat is onzin, gebruik gewoon $_POST['submit'] daar waar je deze nodig hebt. Het aanmaken van een kopie ($submit) van een variabele zonder dat je iets doet met de inhoud, zorgt vroeg of laat altijd voor veiligheidsproblemen. Nooit meer doen dus!
maar waar zit mijn fout dan op regel 1? daar staat toch gewoon
Er mag niets, maar dan ook helemaal niets, naar de browser worden gestuurd voordat je header() aanroept. Absoluut verboden!
Kopieer de code eens en plak hem eens in een nieuw bestand. Vreemd genoeg wil dat nog wel eens helpen...
als ik login_funcs.inc ook wil laten oproepen geeft hij bij de twee cookies die ik oproep ook tweemaal dezelfde fout.. Ik zou echt niet weten waar ik nog een spatie heb kunnen staan..
maar ik zie er echtniets verkeerd aan.. Heb het ook al eens in kladblok gezet maar niet helpt..
deze fout blijft erop komen:
Warning: Cannot modify header information - headers already sent by (output started at /customers/test.be/httpd.www/php/loginsysteem/login.php:6) in /customers/test.be/httpd.www/php/loginsysteem/login.php on line 13
Dit is de code:
<html>
<head>
<title>Inloggen</title>
</head>
<body>
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
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
<?php
require_once('login_funcs.inc');
if($_POST['submit'] == 'login')
{
$feedback= user_login();
if ($feedback == 1)
{
header("Location: index.php");
} else
{
$feedback_str="<p>$feedback</p>";
}
} else
{
$feedback_str="";
}
//formulier tonen
$php_self=$_SERVER['PHP_SELF'];
$login_form = <<< EOLOGIN
<br/>
$feedback_str
<br/>
LOGIN
<br/>
<form method="POST" action="$php_self">
Gebruikersnaam:
<br/><input type="text" name="user_name" value="" size="10" />
<br/>Paswoord:
<br/><input type="password" name="password" value="" size="10" />
<br/><input type="submit" name="submit" value="login" size="10" />
</form>
EOLOGIN;
echo $login_form;
?>
require_once('login_funcs.inc');
if($_POST['submit'] == 'login')
{
$feedback= user_login();
if ($feedback == 1)
{
header("Location: index.php");
} else
{
$feedback_str="<p>$feedback</p>";
}
} else
{
$feedback_str="";
}
//formulier tonen
$php_self=$_SERVER['PHP_SELF'];
$login_form = <<< EOLOGIN
<br/>
$feedback_str
<br/>
LOGIN
<br/>
<form method="POST" action="$php_self">
Gebruikersnaam:
<br/><input type="text" name="user_name" value="" size="10" />
<br/>Paswoord:
<br/><input type="password" name="password" value="" size="10" />
<br/><input type="submit" name="submit" value="login" size="10" />
</form>
EOLOGIN;
echo $login_form;
?>
</body>
</html>
Welke editor gebruik je, weet je zeker dat die alleen maar ASCII tekst geeft.
Misschien moet je de eerste regel weghalen en overnieuw typen (dan kopier je eventuele onzichtbare tekens niet mee)
En wat doe jij:
Code (php)
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
Geen html voordat je header() aanroept, dus ook niet voordat je een php tag opent!
Gewijzigd op 01/01/1970 01:00:00 door Joren de Wit
Gewijzigd op 01/01/1970 01:00:00 door Thorbon
Wat is de foutmelding die je nu krijgt. Je kunt namelijk zien op welke regel er al output heeft plaatsgevonden.
Zo blijf ik steeds dezelfde fout krijgen en als ik alles van html(bodyenzo) weg laat dan krijg unexpected $end
zoals hieronder krijg ik deze fout:
Warning: Cannot modify header information - headers already sent by (output started at /customers/test.be/httpd.www/php/loginsysteem/db_vars.inc:2) in /customers/test.be/httpd.www/php/loginsysteem/login.php on line 8
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
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
<?php
require_once('login_funcs.inc');
if($_POST['submit'] == 'login')
{
$feedback= user_login();
if ($feedback == 1)
{
header("Location: index.php");
} else
{
$feedback_str="<p>$feedback</p>";
}
} else
{
$feedback_str="";
}
//formulier tonen
$php_self=$_SERVER['PHP_SELF'];
$login_form = <<< EOLOGIN
<br/>
$feedback_str
<br/>
LOGIN
<br/>
<form method="POST" action="$php_self">
Gebruikersnaam:
<br/><input type="text" name="user_name" value="" size="10" />
<br/>Paswoord:
<br/><input type="password" name="password" value="" size="10" />
<br/><input type="submit" name="submit" value="login" size="10" />
</form>
EOLOGIN;
?>
require_once('login_funcs.inc');
if($_POST['submit'] == 'login')
{
$feedback= user_login();
if ($feedback == 1)
{
header("Location: index.php");
} else
{
$feedback_str="<p>$feedback</p>";
}
} else
{
$feedback_str="";
}
//formulier tonen
$php_self=$_SERVER['PHP_SELF'];
$login_form = <<< EOLOGIN
<br/>
$feedback_str
<br/>
LOGIN
<br/>
<form method="POST" action="$php_self">
Gebruikersnaam:
<br/><input type="text" name="user_name" value="" size="10" />
<br/>Paswoord:
<br/><input type="password" name="password" value="" size="10" />
<br/><input type="submit" name="submit" value="login" size="10" />
</form>
EOLOGIN;
?>
<html>
<head>
<title>Inloggen</title>
</head>
<body>
</body>
</html>
Sorry voor de miserie, ben nog wat nieuw in php, maar alles tot hiertoe lukte al redelijk buiten deze fout krijg ik maarniet weg:)
Gewijzigd op 01/01/1970 01:00:00 door Thorbon
/customers/slagerijkeymolen.be/slagerijkeymolen.be/httpd.www/php/loginsysteem/db_vars.inc
op regel 2.
Blijkbaar heb je in het bestand db_vars.inc op regel 2 iets staan dat output naar de browser veroorzaakt.
Blanche en de rest , echt heel hartelijk bedankt, wat zou ik zonder jullie moeten doen:)
Bedankt mannen !!!!