/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
Problem med header
Fra : Torben Svendsen


Dato : 06-08-06 09:09

Kære Gruppe

Jeg har et problem med header-funktion. Filen opslag.php inderholder en
formular, hvor brugeren kan indtaste data som navn og adresse. Disse
data sendes videre til opslag_gem.php, hvor de indtastede data gemmes i
en mysql-database. Det er filen opslag_gem.php, der driller mig. Øverst
i den står der:

require("check_epost.php");
require("konstanter.inc.php");

check_epost.php indholder en funktion check_epost($email).
konstanter.inc.php har variable, der bruges til mysql-kald:

<?php
$database="test1";
$server="localhost";
$bruger="root";
$kodeord="";
$opslag="opslag";
?>

Nederst i filen er der en header:

header("Location: opslag.php");

der skal sende brugeren tilbage til opslag.php. Desværre få jeg en
fejlbesked:

Cannot modify header information - headers already sent by (output
started at E:\PHP\opslag\konstanter.inc.php:8) in
E:\PHP\opslag\opslag_gem.php on line 90.

Det forstår jeg ikke. Der laves ikke output i konstanter.inc.php, og det
undrer mig også, at det er den anden linje require("konstanter.inv.php")
og ikke den første linje require("check_epost.php"), der giver problemer.

Hvis jeg udelader linjen require("konstanter.inc.php") og i stedet for
skriver

$database="test1";
$server="localhost";
$bruger="root";
$kodeord="";
$opslag="opslag";

i opslag_gem.php virker det hele som det skal. Denne løsning er dog ikke
tilfredsstillende for mig, for så skal jeg lave eventuelle ændringer i
databaseoplysningerne i flere filer.

Er der nogen, der kan hjælp mig til at bevare databaseoplysningerne i en
seperat fil.

På forhånd tak.


Torben Svendsen
http://www.sydjyskvinselskab.dk


 
 
Michael Rasmussen (06-08-2006)
Kommentar
Fra : Michael Rasmussen


Dato : 06-08-06 09:29

On Sun, 06 Aug 2006 10:09:08 +0200, Torben Svendsen wrote:

> Cannot modify header information - headers already sent by (output started
> at E:\PHP\opslag\konstanter.inc.php:8) in E:\PHP\opslag\opslag_gem.php on
> line 90.
>
Du har ikke en tom linje før <?php eller en tom linje efter ?> i en af de
to inkluderede filer?

Tomme linjer vil nemlig blive sent til browseren, hvorfor du allerede vil
have sendt headere, inden du selv kalder din egen header funktion.

Alternativt kan du anvende output buffering:
http://dk2.php.net/manual/da/function.ob-start.php

F.eks:
<?php
ob_start();

require("check_epost.php");
require("konstanter.inc.php");

En masse andre php instruktioner;

header("Location: opslag.php");

ob_end_flush();
?>
--
Hilsen/Regards
Michael Rasmussen
http://keyserver.veridis.com:11371/pks/lookup?op=get&search=0xE3E80917


Torben Svendsen (06-08-2006)
Kommentar
Fra : Torben Svendsen


Dato : 06-08-06 09:42

Tak for svar

> Du har ikke en tom linje før <?php eller en tom linje efter ?> i en af de
> to inkluderede filer?

Nej!

> Alternativt kan du anvende output buffering:
> http://dk2.php.net/manual/da/function.ob-start.php

Denne teknik kendte jeg ikke. Jeg prøver.

Venligst
Torben Svendsen

http://www.sydjyskvinselskab.dk/


Torben Svendsen (06-08-2006)
Kommentar
Fra : Torben Svendsen


Dato : 06-08-06 09:54

>
> Denne teknik kendte jeg ikke. Jeg prøver.

Den virker. Tusind tak!

Venligst
Torben Svendsen

http://www.sydjyskvinselskab.dk/



Christian Joergensen (06-08-2006)
Kommentar
Fra : Christian Joergensen


Dato : 06-08-06 11:26

Torben Svendsen <torbensvendsen@mail.dk> writes:

> header("Location: opslag.php");

Husk at bringe hele den absolutte URI her.

14.30 Location

The Location response-header field is used to redirect the recipient
to a location other than the Request-URI for completion of the
request or identification of a new resource. For 201 (Created)
responses, the Location is that of the new resource which was created
by the request. For 3xx responses, the location SHOULD indicate the
server's preferred URI for automatic redirection to the resource. The
field value consists of a single absolute URI.

Location = "Location" ":" absoluteURI

An example is:

Location: http://www.w3.org/pub/WWW/People.html

Sakset fra RFC2616.

--
Christian Joergensen | Linux, programming or web consultancy
http://www.razor.dk | Visit us at: http://www.gmta.info

Søg
Reklame
Statistik
Spørgsmål : 177501
Tips : 31968
Nyheder : 719565
Indlæg : 6408522
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste