Header() Problem

Tags:    php

Hej Udviklere!

Har et lille problem med en header funktion. Når jeg kommer ind på nedenstående side, uden at være blevet sikkerhedsvalideret, burde den redirecte mig til en anden fil, som gemmer ip-adressen i forbindelse med et lille sikkerhedseksperiment. Men desværre virker denne header ikke, og i stedet får jeg bare en blank skærm.

Det underlige er at hvis jeg skriver f.eks. forside.php?page=ip, (hvor page er en side, med endelsen .php den inkluderer ind i forside.php), virker mit ip.php sikkerhedsscript perfekt, men i alle andre tilfælde registrerer den ingenting.

Hvad jeg vil er så at jeg vil redirecte brugeren til forside.php?page=ip, for at ip.php virker igen, som en lappeløsning for at ip.php ikke virker når ikke jeg inkluderer den i min forside.php.

Er der nogen der har en god løsning? Det ville virkeligt hjælpe!

nyhed.php: (som er en af de sider der burde redirecte til ip.php)

Fold kodeboks ind/udKode 


ip.php(som er filen der registrerer indbrud):
Fold kodeboks ind/udKode 


Mvh. Christian S.



Indlæg senest redigeret d. 12.12.2006 17:56 af Bruger #4536
Istedet for
header('location:forside.php?side=ip');
så prøv
header('Location: forside.php?side=ip');

er ikke sikker på at det virker, men det er et forsøg værd



Ellers kan du prøve sådan

Fold kodeboks ind/udKode 


ip.php(som er filen der registrerer indbrud):
Fold kodeboks ind/udKode 





Indlæg senest redigeret d. 12.12.2006 18:02 af Bruger #6528
Har hørt noget om (ved ikke om det er rigtigt) at header ikke kan lide at du har attributter med i dine redirects. At den ikke kan lide fx ?page=id

Eller prøv denne HTML kode til at redirecte
Fold kodeboks ind/udKode 




har ikke noget med sagen og gøre men hvad mener du $row['pass'] er ud over $pwd når den hentes fra en mysql WHERE pass='$pwd' siden du laver en if $row['pass']=$pwd på den?



Problemet er, at en header SKAL ligge før et hvilket som helst output til browseren. Dvs. den SKAL ligge før din HTML-kode...

Er det umuligt er en anden mulighed at tilføje ob_start(); aller øverst i din php-kode og ob_flush(); aller nederst. Håber det hjælper..



#Nørden

$pwd bliver tildelt en værdi fra headeren, og den ser så om denne værdi er lig den der ligger i MySQL databasen. Det er forresten et md5() krypteret password.

Til alle andre:

Tak for alle de gode svar :) Nu skal da bare afprøves!





t