Warning in inlogscript
Ik heb laatst op dit forum gevraagd naar een goed inlogscriptje en deze is mijn geadviseerd.
http://www.phphulp.vindme.nl/AKLogin/code/index.php
Ik vind deze loginscript erg handig, en hij werkt ook perfect, nouja bijna dan!
Deze script zorgt bij mij voor een error op al mijn pagina's.
Warning: Cannot modify header information - headers already sent by (output started at /home/ltda/public_html/connect_db.php:15) in /home/ltda/public_html/registreer.php on line 12
Ik dacht zelf dat ik mijn header tags uit mijn php file moet halen, maar dat blijkt niet te helpen. Heeft iemand een idee van wat ik moet veranderen aan mijn pagina's om deze warning niet meer te krijgen?
Voor mijn site: http://livetogetherdiealone.x10hosting.com/login.php
(niet opletten op de website zelf, hij is nog nieuw, en slaat nu nog nergens op)
Verder heb ik alleen gebruik gemaakt van de php script van de loginsysteem, de rest van de html en css kan je vinden op mijn site zelf.
Alvast bedankt,
Stef
Op connect_db.php lijn 15 heb je output, en dat mag niet voor een setcookie() of een header.
Let goed op dat je geen spatie's enter's of wat dan ook voor en na je php tags hebt staan in connect_db.php.
Ik had de onderstaande code in mijn error.php staat, terwijl dit niet moest.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
<?PHP
/* errors weergeven. */
error_reporting(E_ALL);
/* Connectie met de database maken. */
require_once ('connect_db.php');
/* Beveilig pagina zodat alleen geregistreerde gebruikers deze pagina kunnen bezoeken. */
require_once ('beveilig.php');
?>
/* errors weergeven. */
error_reporting(E_ALL);
/* Connectie met de database maken. */
require_once ('connect_db.php');
/* Beveilig pagina zodat alleen geregistreerde gebruikers deze pagina kunnen bezoeken. */
require_once ('beveilig.php');
?>
Nu dacht ik dat alles goed was, maar dat is het nog steeds niet!
Ik kan nu loginpagina bezoeken, registreren, activeren, inloggen en de profielpagina bekijken zonder warning.
Maar!
Ik kan als ik uitlog, via loguit.php, nog steeds mijn profielpagina bekijken, en er komt dan de warning:
Warning: Cannot modify header information - headers already sent by (output started at /home/ltda/public_html/connect_db.php:15) in /home/ltda/public_html/beveilig.php on line 4
Dit is de beveiliging.php:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php
if(!isset($_SESSION['USER_LOGGED']) or $_SESSION['USER_LOGGED'] != 'yes')
{
header('location: error.php?ERRID=2');
}
elseif(!isset($_SESSION['USER_IP']) or $_SESSION['USER_IP'] != $_SERVER['REMOTE_ADDR'])
{
header('location: error.php?ERRID=3');
}
elseif(!isset($_SESSION['USER_LEVEL']))
{
header('location: error.php?ERRID=1');
}
elseif(!isset($_SESSION['USER_ID']) or $_SESSION['USER_ID'] == 0)
{
header('location: error.php?ERRID=4');
}
?>
if(!isset($_SESSION['USER_LOGGED']) or $_SESSION['USER_LOGGED'] != 'yes')
{
header('location: error.php?ERRID=2');
}
elseif(!isset($_SESSION['USER_IP']) or $_SESSION['USER_IP'] != $_SERVER['REMOTE_ADDR'])
{
header('location: error.php?ERRID=3');
}
elseif(!isset($_SESSION['USER_LEVEL']))
{
header('location: error.php?ERRID=1');
}
elseif(!isset($_SESSION['USER_ID']) or $_SESSION['USER_ID'] == 0)
{
header('location: error.php?ERRID=4');
}
?>
regel 4 is hier ook makkelijk te vinden en je ziet ook dat deze lijn iets zegt over de headers, alleen weet ik niet wat ik moet veranderen om deze warning niet meer te krijgen.
En dan nog kan ik na het uitloggen nog steeds mijn profielpagina bekijken, wat natuurlijk niet de bedoeling is :S
heeft iemand een idee?
Gewijzigd op 01/01/1970 01:00:00 door Stef van de Ven
Deze heb ik verwijderd en nu is het script weer goed (voorlopig)
Ik krijg geen warnings meer en je kan nu niet meer de profielpagina bekijken als je niet ingelogd bent
Bedank!
(
Code (php)
1
2
3
4
5
2
3
4
5
<?php
/* Errors weergeven */
error_reporting(E_ALL | E_STRICT);
ini_set("display_errors", 1);
?>
/* Errors weergeven */
error_reporting(E_ALL | E_STRICT);
ini_set("display_errors", 1);
?>