Avatar billede zkov82 Nybegynder
18. januar 2007 - 18:41 Der er 8 kommentarer og
1 løsning

redirect i php 4.4.4

Hej.
jeg har lavet en side på min php5 server.
Jeg har nu lagt det på nettet, dog på en php 4.4.4 server.

Og nu kan jeg ikke få min header("location:admin.php"); til virker.

Er der noget jeg ikke er klar over?
Avatar billede mcgoat Nybegynder
18. januar 2007 - 18:45 #1
kan du poste hele siden?
Avatar billede zkov82 Nybegynder
18. januar 2007 - 19:06 #2
Jeg har egentlig bare hevet header-delen ud af siden og lagt den i en for sig selv, og det virker stadig ikke....
Men her er den:
Jeg har prøvet hvor der kun står header.... i koden, men det virker stadig ikke.

<?php
/* Include files*/
//include("navbar.php");
/*************************/
phpinfo();
header("location:admin.php");
?>
Avatar billede mcgoat Nybegynder
18. januar 2007 - 19:13 #3
header skal ALTID bruges inden andet output bliver skrevet ud, f.eks HTML, echo osv. og phpinfo(); skriver ihvertfald output til skærmen. Fandt et lille fix man dog kan bruge:

Jeg kan ikke omstrukturere mit script?
Da PHP folket godt ved det er et problem med disse ’headers already sent’ fejl er der lavet en funktion som kan klare opgaven for en. Funktionen er overkill og det anbefales at scriptet i stedet omstruktureres.
I starten af scriptet skrives:
<?php
ob_start();

Og i slutningen af scriptet skrives:

Ob_end_flush();
?> 

Denne funktion sørger simpelt for at lægge alt dit output ind i en streng og udskrive det når ob_end_flush(); kaldes.
Avatar billede mcgoat Nybegynder
18. januar 2007 - 19:14 #4
Følgende lille script ved vi nu fra start vil give en fejl:
<?php
echo "Vi får en fejl";
header("Location: index.php");
?> 

Vi må derfor omstrukturere vores script og det vil da blive til:
<?php
header("Location: index.php");
echo "Vi får ingen fejl";
?>
Avatar billede mcgoat Nybegynder
18. januar 2007 - 19:20 #5
<?
header("Location: navbar.php");
?>

burde virke, gør den ikke det?
Avatar billede zkov82 Nybegynder
18. januar 2007 - 19:33 #6
mcgoat> Dit andet forslag virker, men ikke dit første.

Men mit problem er så længe der står andet i filen end header ...  så virker det ikke. Der sker ingen redirect. På min lokale server virker det hele fint, men ikke når det er u/l til b-one.
Avatar billede mcgoat Nybegynder
18. januar 2007 - 19:37 #7
b-one's server er cAsE-sEnSiTiVe, linker scriptet til en fil der hedder præcis som det står?
Avatar billede showsource Seniormester
18. januar 2007 - 19:38 #8
Avatar billede zkov82 Nybegynder
19. januar 2007 - 15:04 #9
Jeg har fundet en anden løsning, hvor jeg helt dropper header()....kan simpelthen ikke få det til at virke, selvom der ikke var nogle problemer på min egen server. Tak for jeres mange forslag.
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