Avatar billede turbodk Nybegynder
26. marts 2008 - 11:57 Der er 9 kommentarer og
1 løsning

index.php?side=profile&id=X

Hej..
Når jeg laver hjemmeside bruger jeg følgende kode:
<---Kode starter--->
<?php $side = $_GET[side];
if (!$side || $side == "forside") { $side = "forside"; }
elseif ($side == "post") { $side = "post"; }
elseif ($side == "writer") { $side = "writer"; }
elseif ($side == "category") { $side = "category"; }
elseif ($side == "picture") { $side = "picture"; }
elseif ($side == "link") { $side = "link"; }
else { $side = "404"; }
?>
<---Kode slutter--->

Den tillader nogle sider(som jeg har sat den til), og afviser alle andre...

Men nu skal jeg have lavet sådan at den automatisk tillader alle de tilgængelige bruger id's, så jeg ikk konstant skal ind og ændre det selv...

Hvordan gør jeg det?
Eller findes der en nemmere måde?
Avatar billede rax Praktikant
26. marts 2008 - 12:28 #1
Jep, meget nemmere, og meget pænere..
Hav de tilgængelige bruger id's og dine sider i hver deres tabel i en database.. så laver du istedet check opimod den. Du vil hurtigt opleve, at det er langt nemmere at have med at gøre :)
Avatar billede turbodk Nybegynder
26. marts 2008 - 13:05 #2
Der er jeg ikke helt med? :P

Kan du forklare lidt nærmere? :)
Avatar billede rax Praktikant
26. marts 2008 - 13:21 #3
Jada :)

Lige nu har du hardcoded de sideværdier, du godtager. Forestil dig istedet, at du har 2 tabeller i din database. 1 med sideværdier, 1 med bruger id's.
Hvis $_GET[side] findes i tabellen med sider, er den godkendt. Det samme kan du gøre med bruger id's.

Det kan også være, at jeg har misforstået lidt, hvad du mener med "at den automatisk tillader alle de tilgængelige bruger id's".. Fordi umiddelbart, hvis ikke du har nogen som helst form for check på bruger id, så er der jo ingen restriktioner på det område..
Hvis du stadig sidder fast, kan du så ikke prøve at uddybe, hvad du mener ? :)
Avatar billede turbodk Nybegynder
26. marts 2008 - 13:59 #4
Nej jeg tror faktisk du har fanget min mening :P

Og tror også jeg ved hvad du mener nu...

Så jeg skal bruge samme kode som nu, men bare sætte noget ind så den henter fra en mysql db?
Avatar billede rax Praktikant
26. marts 2008 - 14:08 #5
præcis! det er meget nemmere at vedligeholde, når de ligger i databasen :)
Avatar billede turbodk Nybegynder
26. marts 2008 - 19:03 #6
<?php $side = $_GET[side];
if (!$side || $side == "forside") { $side = "forside"; }
elseif ($side == "$data['side']") { $side = "$data['side']"; }
else { $side = "404"; }
?>

Hvor jeg har lavet en tabel med 1 felt, hvor de forskellige sidenavne står i?
Avatar billede rax Praktikant
27. marts 2008 - 09:24 #7
nemlig :) sådan kan du sagtens gøre det.
Du kan også vælge at lægge både forside og 404 i basen.. og det er altid pænere at lave sin egen default fejlside ;)
Men du har fat i det rigtige :) det bliver meget nemmere at vedligeholde på den måde.
Avatar billede turbodk Nybegynder
27. marts 2008 - 09:34 #8
Ja tror jeg på...
Jeg laver skam også min egen 404-fejl side...

Jeg takker :) Smid et svar, så får du dine point ;)
Avatar billede rax Praktikant
27. marts 2008 - 09:39 #9
Jeg takker :)

Fik du også styr på, hvordan du skal dreje den med bruger id's? ellers så skriver du bare :)

god fornøjelse!
Avatar billede turbodk Nybegynder
27. marts 2008 - 10:39 #10
Jo tak :)

Ang. bruger id's er det vel bare det samme?

<---Kode starter--->
<?php $side = $_GET[side];
if (!$side || $side == "forside") { $side = "forside"; }

include("mysqldata.php");
$db = mysql_connect($db_host, $db_user, $db_password);
mysql_select_db($db_name, $db);

$foresp = mysql_query("SELECT * FROM users");
    while($data = mysql_fetch_array($foresp)){
        echo "elseif ($side == "$data['id']") { $side = "$data['id']"; }";
    }

else { $side = "404"; }
?>
<---Kode slutter--->

Sådan?
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