Kjapp og trygg hosting for Wordpress

Hjelp:) Får ikke til file_get_contents

Balex93

Medlem
Lager en side som henter data fra noen tekstfiler på serveren, og får feilmeldingen

Warning: file_get_contents(./users//nick.txt) [function.file-get-contents]: failed to open stream: No such file or directory in "******************"/dashboard.php on line 13

Bruker denne koden til å hente ut string fra filen:
Setter en cookie med

PHP:
setcookie("bruker", $brukernavn, time( ) + 10000);

Og henter data med

PHP:
$brukernavn = $_COOKIE['bruker'];
$nickraw = include "./users/".$brukernavn."/nick.txt";
$nick = file_get_contents($nickraw);

Dette fungerer i Localhost, men ikke når jeg laster det opp til domenet. Er det cookies som ikke fungerer, eller er det noen begrensinger fra serversiden som jeg ikke kan gjøre noe med?

Jeg har rotet meg inn i litt ukjent terreng nå. Mildt sagt.:rolleyes::p
 

Madz0r

New Member
Kan se ut som det er et problem med cookien ja, siden den sier;
Warning: file_get_contents(./users//nick.txt).
Brukernavnet skal jo stå mellom //ene, ikke sant?

Kode:
$nickraw = include "./users/".$brukernavn."/nick.txt";

Litt rart at du ikke får en feilmelding på den egentlig.
Hvis du fjerner include fra den linjen, og bare sender pathen til file_get_contents vil det nok fungere når du har fått fikset cookie-problemet.
 
Sist redigert:

Balex93

Medlem
Kan se ut som det er et problem med cookien ja, siden den sier;
Warning: file_get_contents(./users//nick.txt).
Brukernavnet skal jo stå mellom //ene, ikke sant?

Kode:
$nickraw = include "./users/".$brukernavn."/nick.txt";

Litt rart at du ikke får en feilmelding på den egentlig.
Hvis du fjerner include fra den linjen, og bare sender pathen til file_get_contents vil det nok fungere når du har fått fikset cookie-problemet.

Akkurat. Noe går galt et sted der.
Det jeg stusser i er at cookien fungerer utmerket i Localhost, men ikke når den lastes opp til server.
Tok bort include, vet ikke hva den gjorde der. Var nok bare et desperat forsøk på å få det til å fungere :D
 

tyr897

Medlem
Du er sikker på at cookien er blitt satt først? $_COOKIE vil kun inneholde det som blir sendt til serveren fra klienten. Så dersom du bruker setcookie, får du ikke tak i innholdet før neste sidevisning.

Andre feilkilder kan være at $brukernavn faktisk var tom da du satte den.

Forøvrig bør du ikke bruke $_COOKIE direkte på den måten. Jeg kan lage en falsk cookie hvor jeg setter brukernavn til hva jeg vil. Sikkerheten er med andre ord temmelig lik null.
 

Balex93

Medlem
Du er sikker på at cookien er blitt satt først? $_COOKIE vil kun inneholde det som blir sendt til serveren fra klienten. Så dersom du bruker setcookie, får du ikke tak i innholdet før neste sidevisning.

Andre feilkilder kan være at $brukernavn faktisk var tom da du satte den.

Forøvrig bør du ikke bruke $_COOKIE direkte på den måten. Jeg kan lage en falsk cookie hvor jeg setter brukernavn til hva jeg vil. Sikkerheten er med andre ord temmelig lik null.

I localhost blir cookien satt først. Det er to forskjellige sider det er snakk om. Den ene siden setter cookien, mens den andre leser den av. Det er (muligens en snarvei) for å bevare en verdi over flere sider.

Jeg vet at det er usikkert, koden min har langt flere sånne, som jeg også vet om :p

Anbefaler dere å bruke session i stedet, eller blir det det samme?
 

Madz0r

New Member
Langt vanskeligere å hijacke en session i allefall :)

Finnes cookien i det hele tatt i browseren? Eller er verdien av cookien bare tom?
Prøv en echo av brukernavn før setcookien da, se om $brukernavn er tom, som tyr sa?
 
Topp