Foutmelding bij inloggen

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Bob

bob

04/04/2007 18:30:00
Quote Anchor link
ik ben bezig met een eigen register en login
als ik wil inloggen krijg ik deze fout
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
Warning: Cannot modify header information - headers already sent by (output started at /home/www/mafiacrime.freehostia.com/config.php:33) in /home/www/mafiacrime.freehostia.com/login.php on line 115

Warning: Cannot modify header information - headers already sent by (output started at /home/www/mafiacrime.freehostia.com/config.php:33) in /home/www/mafiacrime.freehostia.com/login.php on line 116

Warning: Cannot modify header information - headers already sent by (output started at /home/www/mafiacrime.freehostia.com/config.php:33) in /home/www/mafiacrime.freehostia.com/login.php on line 121


kan iemand mij uitleggen hoe ik dat kan veranderen
 
PHP hulp

PHP hulp

22/12/2024 06:31:11
 
Baarr

Baarr

04/04/2007 18:36:00
Quote Anchor link
Je gebruikt waarschijnlijk ergens de functie "header", MAAR vantevoren word echter al data naar de browser gestuurd. Dit kan wat HTML zijn, of een PHP echo , of zelfs een spatie/lege regel voor je
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php aanroept.

Dus kijk naar de code boven de header functie en zoek de code waar je al output naar de browser stuurt, haalt dat weg, of gebruik anders de header functie niet (op die plaats)
Gewijzigd op 01/01/1970 01:00:00 door Baarr
 
Frank -

Frank -

04/04/2007 18:46:00
Quote Anchor link
Op regel 33 van jouw config.php begint de output al. Niet zo handig om in een config-file output aan te maken, output doe je pas op het aller, aller laatste moment, vlak voordat je het vergeten bent.

En dan nog het liefst met een template-engine (bv. Smarty) die letterlijk op de allerlaatste regel van jouw script de output naar de browser stuurt.

Ik heb de volgende regel in m'n .htaccess staan:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
php_value auto_append_file "output.inc.php"


Deze regel zorgt er voor dat het bestand output.inc.php automatisch wordt aangeroepen als afsluiter van ieder script dat wordt aangeroepen. Je hoeft dus nooit te includen, gebeurt automatisch.

In het bestand output.inc.php staat het volgende:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
// Send output to browser
$tpl->display('index.tpl.php');
?>

Geen enkel bestand maakt output aan, dat is ten strengste verboden. Ze mogen variabelen aanmaken en deze in de template-engine gooien, maar that's it.

Problemen met headers-already-sent bestaan niet meer.
Gewijzigd op 01/01/1970 01:00:00 door Frank -
 
Bob

bob

04/04/2007 18:59:00
Quote Anchor link
oke badankt
Gewijzigd op 01/01/1970 01:00:00 door bob
 
Bob

bob

04/04/2007 19:16:00
Quote Anchor link
het werkt nog steeds niet of ik maak een fout ergens, we hebben een bestandje output.inc.php aangemaakt met die code erin. ik heb het onderste van ''config.php''waar hij zegt dat de fout staat hier neergezet:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
if(isset($_SESSION['id'])){
$id = $_SESSION['id'];
}
mysql_connect($db_server, $db_login, $db_pass) or die("Er kan geen verbinding gemaakt worden met de database, MySQL retouneerde: ".mysql_error());
mysql_select_db($db_naam) or die("Er kan geen database geselecteerd worden. MySQL retouneerde devolgende error: ".mysql_error());
php_value auto_append_file "output.inc.php"
?>

Gewijzigd op 01/01/1970 01:00:00 door bob
 
Baarr

Baarr

04/04/2007 19:20:00
Quote Anchor link
Nee, frank bedoelt op Apache niveau, of Htaccess. Frank had het meer specifiek over zijn situate, lees mijn vorige post en kijk op de regels die in je error staan aangegeven of er daar data naar buiten word gestuurd..
Gewijzigd op 01/01/1970 01:00:00 door Baarr
 
Frank -

Frank -

04/04/2007 19:44:00
Quote Anchor link
;)

Precies, ik heb beschreven hoe wij het aanpakken. De php-bestanden maken variabelen aan en zetten deze in de template-engine (die automatisch vóór het uitvoeren van een script wordt opgestart):
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<? $tpl->assign('sVar', $sVar);?>

Het bestandje output.inc.php wordt door Apache als afsluiter aangeroepen en dit bestand zal vervolgens de output naar de browser sturen.

Maar dit is dus uitsluitend de aanpak die wij hanteren, het zegt helemaal niets over een ander script. Zou je dezelfde aanpak willen hanteren, dan moet je een template-engine gaan gebruiken, bestanden automatisch includen, etc. etc.

Geen idee wat jouw niveau is, maar deze aanpak is niet aan te raden voor een beginner.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.