Avatar billede kwudo Nybegynder
13. februar 2008 - 17:59 Der er 10 kommentarer og
1 løsning

Linket virker ikke?

Hej alle sammen.

Jeg har et lille problem med min kode.
Alle links med f.x.: ?id=1 efter sig virker ikke og kommer med følgene fejl:

Warning: include(brugere/profil.php?id=2) [function.include]: failed to open stream: No such file or directory in /home/onlineblog/public_html/ungesliv/index.php on line 105

Warning: include() [function.include]: Failed opening 'brugere/profil.php?id=2' for inclusion (include_path='.:/usr/share/php:/usr/share/pear') in /home/onlineblog/public_html/ungesliv/index.php on line 105

prøv at logge ind på: www.intetliv.dk/ungesliv

Og skriv test og test i felterne, og vælg så pilen når i logget ind.

Koden der åbner siderne ser sådan her ud:

<?
if($_GET[page] == "")
{
$site = "main.php";
} else {
$site = $_GET[page];
}

include("$site");

?>

Nogen der kan hjælpe mig? /:
Avatar billede kjeldsted Novice
13. februar 2008 - 20:59 #1
Problemet er ikke helt forsåtet. Jeg kan ihvertfald ikke se denne fejl på din side. Hvor er det er er et problem?
Avatar billede erikjacobsen Ekspert
13. februar 2008 - 21:00 #2
Du kan ikke lave include med en URL, fx. med ?id=noget i. Du kan kun lave include på filer. Hvad er det du prøver på.
Avatar billede kwudo Nybegynder
13. februar 2008 - 21:03 #3
det fordi jeg arbejder lidt på siden, hehe.

men prøv at logge ind igen:

Brugernavn: test
Kodeord: test

Og så tryk "Min profil" på siden der kommer når du lige er logget ind
Avatar billede jensgram Nybegynder
13. februar 2008 - 21:04 #4
Erik > Jo, kan man ikke?
Avatar billede jensgram Nybegynder
13. februar 2008 - 21:06 #5
>>If "URL fopen wrappers" are enabled in PHP (which they are in the default configuration), you can specify the file to be included using a URL (via HTTP or other supported wrapper - see List of Supported Protocols/Wrappers for a list of protocols) instead of a local pathname. If the target server interprets the target file as PHP code, variables may be passed to the included file using a URL request string as used with HTTP GET. This is not strictly speaking the same thing as including the file and having it inherit the parent file's variable scope; the script is actually being run on the remote server and the result is then being included into the local script.<< http://dk.php.net/include/
Avatar billede kwudo Nybegynder
13. februar 2008 - 21:06 #6
Jamen skal ha åbnet filen profil.php og der skal den jo hente brugerens id (ikke den bruger der logget ind)

Og det gør jeg så med: ?page=brugere/profil.php?id=<? echo $vis[id]; ?>
Avatar billede erikjacobsen Ekspert
13. februar 2008 - 21:17 #7
Filen "brugere/profil.php" findes nok, men filen "brugere/profil.php?id=7913" findes ikke - vel?  (det er det jeg mener med url - url-agtig).

Du kan derimod meget simpelt gøre sådan:

    ?page=brugere/profil.php&id=7913

hvorefter page-parametren indeholder et filnavn, og id-parameteren indeholder et tal.

Men det er MEGA-DUMT at includere filer på den måde uden kontrol af noget som helst. EN hacker kan åbne en vilkårlig fil på din server/webhotel, og hvis ikke det lige var for en indstilling på serveren, som forhindrer det, ganske overtage indholdet på dit domæne. Dur ikke.
Avatar billede jensgram Nybegynder
13. februar 2008 - 22:01 #8
Erik > Ja, det har du da også ret i :) Sorry
Avatar billede kwudo Nybegynder
19. februar 2008 - 15:45 #9
erikjacobsen smid svar (:
Avatar billede erikjacobsen Ekspert
19. februar 2008 - 19:03 #10
Jeg samler slet ikke på point, tak.
Avatar billede kwudo Nybegynder
19. februar 2008 - 21:29 #11
ok bare iorden, tak for hjælpen :)
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