Avatar billede krummel Juniormester
22. august 2006 - 23:06 Der er 13 kommentarer og
1 løsning

location i PHP

Jeg ønsker at redirecte til en anden side, men det virker ikke - hvad er der galt?

<?
header("location: http://www.minside.dk");
?>

Findes der evt. en anden måde at redirecte på i PHP
Avatar billede shooka Nybegynder
22. august 2006 - 23:11 #1
<?php
$location="http://www.minside.dk";
header("Location:".$location."");
?>
Avatar billede pidgeot Nybegynder
22. august 2006 - 23:13 #2
...hvilket er præcist det samme.

Mit bud er at du har et eller andet output inden dit kald til header() - det må man ikke med mindre man bruger output_buffering.

Sørg for at du kalder det INDEN noget output - det vil sige ALT ikke indenfor <? og ?>, inklusiv mellemrum og blanke linier (og også i evt. includede filer).
Avatar billede krummel Juniormester
22. august 2006 - 23:22 #3
pidgeot, jeg bruger den efter en mail() - dvs. til at redirecte efter man har sendt en mail.

Det ser ud til at virke hvis man, som du siger, har en blank side og placerer den i toppen. Men hvordan redirecter jeg så efter denne mailform, hvis den ikke må stå derefter?
Avatar billede shooka Nybegynder
22. august 2006 - 23:24 #4
Så kan det vist ikke gøres i PHP, så skal du bruge <meta>
Avatar billede loevgaard Praktikant
22. august 2006 - 23:25 #5
Hvis du har en mail_FORM_, så er det jo output, så er det klart du ikke kan redirecte siden..
Avatar billede erikjacobsen Ekspert
22. august 2006 - 23:27 #6
Du skal bare have en side der alene består af nedenstående, uden tomme linier før, og udskrift af nogen art med print, echo osv.:

<?
  //PHPkode til at samle indhold til din mail
  mail(....,...,...,....);
  header(......);
?>
Avatar billede krummel Juniormester
22. august 2006 - 23:32 #7
ahh sådan at forstå :) nu virker det.
Tak til pidgeot og erikjacobsen. Giv svar og få point.
Avatar billede pidgeot Nybegynder
22. august 2006 - 23:32 #8
Eller blot placere den blok kode i toppen af siden med mailformen. Det burde der jo ikke være noget i vejen for, eftersom formen jo er submittet uanset.

Det er i øvrigt en god ide at kalde exit() efter kaldet til header(), da der ikke er nogen grund til PHP behandler resten af dokumentet når den alligevel skal redirecte.
Avatar billede pidgeot Nybegynder
22. august 2006 - 23:33 #9
Svar kommer her :)
Avatar billede Slettet bruger
22. august 2006 - 23:44 #10
Du kan godt skulle jeg mene:
mail(....,....,...);
header(......);


:

ob_start();
//mail funtion
header("LOCATION: test.php");
ob_end_flush();
Avatar billede erikjacobsen Ekspert
23. august 2006 - 10:22 #11
Nej tak.
Avatar billede Slettet bruger
23. august 2006 - 10:44 #12
Hvorfor skriver du 'nej tak.' > erikjacobsen?
Avatar billede shooka Nybegynder
23. august 2006 - 16:27 #13
Jeg tror det var til pointene
Avatar billede Slettet bruger
23. august 2006 - 16:38 #14
Nåre ... smiler :D
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

IT-JOB

Riskpoint A/S (Riskpoint Solutions Limited)

Senior Developer

Rambøll Management Consulting

Senior AI Engineer

Riskpoint A/S (Riskpoint Solutions Limited)

IT Business Analyst