Avatar billede clausga Nybegynder
03. februar 2005 - 21:54 Der er 14 kommentarer

gå til en anden side (redirecte)

er dette den bedste måde at redirecte til en anden side på ? eller findes der en bedre måde i php ?... det skal jo være sådan at det virker i ALLE browsere og ikke bliver blocket af noget... eller kan man bare bruge den gode gamle ? =

<meta http-equiv="Refresh" content="0; URL=http://www.side.dk/anden-side.php">
Avatar billede sako Nybegynder
03. februar 2005 - 21:56 #1
<?PHP
header("location:http://www.side.dk/anden-side.php");
?>
Avatar billede clausga Nybegynder
03. februar 2005 - 21:58 #2
er det bedre end den gamle måde ?
Avatar billede jakobdo Ekspert
03. februar 2005 - 22:00 #3
Ja, du kan ikke regne 100% med at et meta refresh fungere på klienten!
Hvorimod header() styres fra serveren, og dermed "tvinges" du til en anden side!
Avatar billede ztyxx Nybegynder
03. februar 2005 - 22:01 #4
der er så forsvindende lille forskel at det er noget at tale om, så det er nok nærmere et temperamentsspørgsmål om hvilken man vil bruge
Avatar billede clausga Nybegynder
03. februar 2005 - 22:02 #5
ok men <?PHP
header("location:http://www.side.dk/anden-side.php");
?>

skal vel altid være øverst på siden...? kan jo være man skal have sat noget ind i databasen først OG SÅ skal den redirecte til den anden side...
Avatar billede jakobdo Ekspert
03. februar 2005 - 22:05 #6
Det kan du sagtens!
Det som header ikke kan klare, er at der er sendt output til klienten!
Dog snakkede CoderDK om noget på denne side: http://www.eksperten.dk/spm/587772

Men du kan sagtens:

if(INSERT INTO table blabla... det gik godt)
header("location:ok.php");
else
header("location:skidt.php");
Avatar billede sako Nybegynder
03. februar 2005 - 22:05 #7
Det er ikke nødvendigt at den er øverst - start siden med ob_start();
Avatar billede clausga Nybegynder
03. februar 2005 - 22:06 #8
kan godt være jeg spørger dumt, men hvad er det :) ob_start();
Avatar billede clausga Nybegynder
03. februar 2005 - 22:15 #9
men på den anden side... virker det ved mig med header virker det jo ved alle da det er serveren der laver output, vel ?
Avatar billede sako Nybegynder
03. februar 2005 - 22:21 #10
ob_start() gør at output ikke bliver sendt til browseren med det samme, men lagres først i PHPs buffer - det sendes så med ob_end_flush()
Avatar billede hmortensen Nybegynder
04. februar 2005 - 07:30 #11
ob_start() er hvad jeg vil kalde en lappeløsning. Hvis koden er skrevet ordentlig, er der heller ingen problemer ved brug af header().

Og det giver heller ingen mening at sende et output til brugeren, for derefter at sende brugeren til en anden side, uden et delay.
Avatar billede clausga Nybegynder
04. februar 2005 - 13:35 #12
ville det ikke være et problem hvis man bruger sessions, og så har session start længere oppe på siden, før database indsætning fx ?
Avatar billede jakobdo Ekspert
04. februar 2005 - 14:02 #13
Det burde det ikke være!
session_start() giver ikke output til klienten!
Avatar billede clausga Nybegynder
04. februar 2005 - 18:35 #14
det virker bare helt perfekt smid svar!
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester