13. juli 2004 - 11:20Der er
15 kommentarer og 2 løsninger
Header already sent - brug af meta-tag i stedet (refresh)
Hej Eksperter.
Jeg har opbygget mit website i en tabelstruktur der gør, at nye sider inkluderes - som i et frameset. Jeg blev træt af en masse kode i alle mine dokumenter, når jeg kunne have det hele i index.php.
Sagen er nu, at det er noget svære at bruge header(), da der jo allerede er blevet sendt data fra index.php. Derfor benytter jeg i øjeblikket <meta http-equiv=\"refresh\" content=\"0;url=url.php\">, til at sende data. Det er dog sjældent jeg har brug for funktionen. Jeg benytter den ved :
- Login med cookies - Tjek om login er korrekt (hvis ikke refreshes brugeren til logout.php)
Jeg forventer ikke at få brug for funktionen andre steder.
Mit spørgsmål er nu, om der er nogen problemer i brugen af denne metode? Jeg er klar over, at brugerens login sendes via GET, men det er næppe et sikkerhedsproblem, da passwordet er MD5 krypteret. Samtidig kan enhver alligevel se det i en cookie (med mindre man ikke bruger autologin naturligvis - så er det bare et par sessions der bliver lavet).
Kunne man forestille sig, at der var browsere som ikke tillod brug af disse meta-tags? For hvis det er tilfældet, vil systemet naturligvis ikke virke for dem.
Støv, fibre og metalliske partikler kan påvirke både uptime, levetid og driftssikkerhed. Derfor arbejder flere datacentre systematisk med contamination control.
I mange browsere kan man slå fra at <meta ... refresh...> virker. Det er der nok ikke så mange der gør.
Men jeg vil da anbefale dig at omstrukturere din kode i stedet for. Hvis du har behov for at lave en redirect, kan du jo bare starte med at lave de nødvendige tests, og vente med HTML-en til senere.
Erik > Jeg kan desværre ikke lave div. tests først, da mit website som sagt er bygget op som en form for frameset. Noget i retning af :
<html> <body>
<?php
$page = $_GET["page"];
include("menu.php"); include("$page");
?>
</body> </html>
Jeg behøver vel ikke sige, at ovenstående er en meget simpel model af det jeg har lavet, vel? :)
Det er helt sikkert, at min metode har nogle ulemper. Men der er bestemt også fordele ved denne struktur - fx. kan jeg meget nemt ændre hele designet på siden, da det meste ligger i index.php. Samtidig er koden i de sider, som inkluderes, fri for kode som ikke har noget med de egentlige funktioner at gøre.
Mht. ob_start(), så vil jeg da lige kigge på den. Men er der noget jeg bør vide om denne funktion? Kunne jeg i realiteten lave noget a lá :
jo, webcreator, det kan du sagtens - altså bytte om på rækkefølgen, så du laver beregninger etc først, og så viser HTML-en til sidst, hvis der altså ikke har være en redirection.
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.