25. marts 2003 - 16:23Der er
21 kommentarer og 1 løsning
Hvorfor kan jeg ikke sender Header?
Jeg har et simplet (men vigtigt) script, der fungerer upåklageligt på én server, men som ikke virker på en anden server.
Det eneste der burde blive gjort var, at en header skulle sendes (PHP-kode). Kan der være nogen begrænsning eller blokering i dette pga. af den pågældende server?
Scriptet er består mere eller mindre blot af dette: header("Location: ".$backto); (hvor $backto er en variabel der sendes med URL'en, og som så indeholder en anden URL'en, der skal gåes til.)
På den server, hvor det ikke virker sker der blot det, at URL'en bliver stående i adresse-feltet, fx: "php/test.php?backto=forside.php?viewkat=22"
mens "den samme" URL virker fint på det andet hotel: "php/test.php?backto=forside.php?viewkat=22" --> skifter skraks til --> "php/forside.php?viewkat=22"
Da det er det præcis samme script kan jeg næsten kun komme i tanker om en eller anden form for begrænsning eller blokering indsat på serveren som fejlkilde..?
Et bud ville være hvis register_globals var slået fra, men når jeg ser phpinfo() ser det da ud til, at det er sat til ON: ("register_globals | On | On ")
Hvad kan der være galt / hvad kan der gøres? Tak for hjælpen på forhånd!
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
Jeg har lige forsøgt med header("Location: $_GET[backto]"); - det ændrede desværre intet, URL'en bliver fortsat blot stående i adresse-feltet uden der sker mere (der vises blot en hel blank side).
Så har jeg forsøgt med header("Location: $backto"); - ændrer desværre stadig ikke noget - når URL'en "php/test.php?backto=forside.php?viewkat=22" besøges udføres funktionen i "test.php", men mere sker der ikke - URL'en bliver blot stående i adresse-feltet..
Nu da det så åbenbart ikke er det her med at få variablen igennem URL'en der er problemet, er der så andre muligheder?
- det virkede heller ikke.. Det er også mærkeligt, for det virker glimrende på et andet webhotel.. Derfor min mistanke om en eller anden servervaribel (åbentbart andet end register_globals)..(?)
ahv> HOV! Nu virker det - det var blot deen form der skulle til: header("Location: $HTTP_GET_VARS[backto]");
- Hved du hvorfor det lige netop er sådan det skal laves? (Jeg fatter bare ikke, at den gl. version ikke fungerede idet register_globals ER slået til..!?)
Jeg _tror_ da nok, at det er lige omvendt med register_globals - at det pr. default er slået fra i de nye PHP-versioner, og det er derfor man er tvunget til at bruge de andre metoder til at få fat i variablerne.. Så når det er ON mener jeg da stadig man burde kunne bruge de gl. varibel-typer.. Men nevermind - det virker i hvert fald nu, da de nye metoder bruges.
Tak for svaret ahv og tak for hjælpen også til schaefner!
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.