Avatar billede smeier Nybegynder
22. oktober 2004 - 13:21 Der er 12 kommentarer og
1 løsning

problemer med include

Nogen der kan fortælle mig hvorfor følgende ikke virker?
Hvis seek har en værdi bliver include("artikler_sogning.php");  udført korrekt men hvis ikke er siden tom.
Hvis jeg blot inkludere include("artikler_baggrund.php"); alene kan den godt vises. Nogen der kan forklare hvorfor?

$_GET['seek'];
    if (!seek) {
    include("artikler_baggrund.php");
    }
    else {
    include("artikler_sogning.php");
    }
Avatar billede nikolajdu Nybegynder
22. oktober 2004 - 13:24 #1
if (!isset($_GET['seek'])) {
    include("artikler_baggrund.php");
    }
    else {
    include("artikler_sogning.php");
    }
Avatar billede smeier Nybegynder
22. oktober 2004 - 13:25 #2
perfekt. SMid et svar. Kan du fortælle mig hvorfor?
Avatar billede Slettet bruger
22. oktober 2004 - 13:30 #3
du manglede isset :P
Avatar billede Slettet bruger
22. oktober 2004 - 13:31 #4
desuden gør $_GET['seek']; jo ikke noget.. hvis du vil gøre noget skal det være $seek = $_GET['seek'];
Avatar billede smeier Nybegynder
22. oktober 2004 - 13:32 #5
Når ja :P selvfølgelig!
Avatar billede Slettet bruger
22. oktober 2004 - 13:33 #6
:P
Avatar billede nikolajdu Nybegynder
22. oktober 2004 - 13:34 #7
1. Hvis register_globals er slået fra (som det bør være) så kan du ikke tilgå bare med $seek, men skal bruge $_GET[] eller $_POST[].

isset tjekker om variablen overhovedet findes. Visse opsætninger af php kræver at en variabel er defineret før den bruges, men det gør man jo kun sjældent med $_GET[] ;-) - Derfor tjekker vi om den er (! = ikke) sat.

vil du tjekke yderligere på værdient af $_GET["seek"] skal du bruge :

if(isset($_GET["seek"]) && strlen($_GET["seek"]) > 5 && $_GET["seek"]  != "onkel"){
// tjeck om den ER sat bagefter om den er længere end 5 karakterer men bare ikke onkel.
}
Avatar billede Slettet bruger
22. oktober 2004 - 13:36 #8
ellers if(strlen($_GET['seek'])>0)
Avatar billede smeier Nybegynder
22. oktober 2004 - 13:50 #9
Allersidste spm. Har læst at f.eks login funktioner osv skal man helst, næsten som du viser nikolajdu, afgrænse til at vist antal bogstaver for at sikre at man ikke an køre scripts fra en form. er det også tilfældet med en søgeform?
Avatar billede Slettet bruger
22. oktober 2004 - 13:52 #10
det er ikke tilfældet ved en søgeform, da problemet ved en login-form jo er at du kan få adgang til noget du ikke har adgang.. dette kan jo ikke ske ved en søgefunktion!
Avatar billede nikolajdu Nybegynder
22. oktober 2004 - 13:57 #11
Det vigtigste du kan gøre er altid at validere hvad brugeren indtaster - ligegyldigt hvad det så skal bruges til.

Der er skrevet nogle udemærkede artikler om hvordan man sikrer sine data bedre.

http://www.eksperten.dk/artikler/190 // den du har brug for

men læs også gerne.

http://www.eksperten.dk/artikler/59 // sql injection
Avatar billede nikolajdu Nybegynder
22. oktober 2004 - 13:57 #12
wicez - Det kunne jo ske ved sql injection at man flushede hele databasen..
Avatar billede nikolajdu Nybegynder
22. oktober 2004 - 14:13 #13
tak for point :))
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