Avatar billede Sence22 Nybegynder
09. oktober 2011 - 15:28 Der er 11 kommentarer og
1 løsning

.htaccess hjælp ønskes

Hej med jer.

Jeg har en .htaccess fil, og kan få den til virke med at fjerne www.

Men jeg har en side som f.eks.

www.sence22.com/date/test/forside.php?username2=marie&id=user

Jeg ønsker så ikke at mine brugere skal kunne se de udtrækninger fra databasen.

urlen som bliver vist oppe i adresser skal kun vise.
forside.html

Det samme skal også gøre for alle de andre sider.
ligesom jeg har også
http://www.sence22.com/date/test/vimygalleri.php?id=user&username2=marie

hvor den kun skal vise
http://www.sence22.com/date/test/vimygalleri.html

Jeg har prøvet rigtig mange ting, og søgt et hel nat.
men skal simpelhen ikke få det til at virke.
Avatar billede giweo Juniormester
09. oktober 2011 - 15:31 #1
Prøv at lave filerne med denne "guide"
Avatar billede giweo Juniormester
09. oktober 2011 - 15:31 #2
Avatar billede Sence22 Nybegynder
09. oktober 2011 - 15:52 #3
Nu er det ikke password som skal være på siden.
Jeg vil bare fjerne de udtræk såsom ?id og ?username

Så uanset hvor på min side man er så ender urlen med .htm
Avatar billede DeeDawg Nybegynder
11. oktober 2011 - 11:44 #4
1. Omskrivning af .php til .html

RewriteEngine On
RewriteRule ^vimygalleri\.html$ vimygalleri.php


2. Hvordan skjuler jeg min queries?

Svaret er meget simpelt - det gør du ikke. Hvis du ikke ønsker folk skal se dem, så opretter du dem slet ikke.

Istedet opretter du en session i PHP, og overfører dine variabler igennem denne istedet.

Her har du et eksempel:

<?php
    // Variabler
    $id = "user";
    $username2 = "marie";
   
    // Opret en PHP session
    session_start();
   
    // Gem variabler i den nye session
    $_SESSION['id'] = $id;
    $_SESSION['username2'] = $username2;
?>


Når du så vil hente dem igen og bruge dem, gør du således:

<?php
    // Tjek om variablen er gemt i din session
    if(isset($_SESSION['id']) && isset($_SESSION['username2']){
       
        // Brug dataen til et eller andet ..
       
    }
?>


Mere info?

Du kan finde mere info om PHP sessions her:

http://php.net/manual/en/function.session-start.php
http://w3schools.com/php/php_sessions.asp
Avatar billede Sence22 Nybegynder
11. oktober 2011 - 17:12 #5
Endelig noget jeg kunne bruge til noget.
Jeg har meget erfaring med PHP

Var dog ikke var over at man kunne gøre det i en session.

Mange tak for hjælpen, nu skal jeg til at bruge flere dage på at omskrive hele siden.
Avatar billede DeeDawg Nybegynder
11. oktober 2011 - 23:03 #6
Det var da så lidt. Og du beholder bare trådens point, til dig selv. ;)
Avatar billede Sence22 Nybegynder
11. oktober 2011 - 23:06 #7
mange tak da
Avatar billede Sence22 Nybegynder
11. oktober 2011 - 23:10 #8
Kan du evt vise mig en ting ?

hvis jeg nu skal sende ?id=user videre i et link hvad gør jeg så ?
username2 er ikke som er hele tiden.

Du må meget gerne skrive en mail til mig.
Da det er en ting bare skal virke på min side.

kontor@sence22.dk
Avatar billede DeeDawg Nybegynder
12. oktober 2011 - 10:27 #9
Hvis du ønsker, at kunne sende links videre til folk, på denne måde, så er du nødt til at oprette queries. Og dem kan du ikke skjule. Du kan dog godt, gøre så det bliver lidt pænere at kigge på, hvis det er grunden til at du gerne vil skjule dem.

Her har du et eksempel:

RewriteEngine On
RewriteRule ^/(.+)/(.+)/$ vimygalleri.php?id=$1&username2=$2

Hvis du indsætter dette i din .htaccess fil, så vil dette link
http://www.sence22.com/date/test/user/marie/
nu være det samme som
http://www.sence22.com/date/test/vimygalleri.php?id=user&username2=marie
Avatar billede Sence22 Nybegynder
12. oktober 2011 - 19:34 #10
Jeg synes jeg prøver mange ting, men det ændre ingen ting.

noget bestemt jeg skal skrive min php filer ?

eller i min start session ?

username2 er ikke =marie.

?username2=$username2;

Som er brugernavnet på den profil man besøger.
Avatar billede DeeDawg Nybegynder
13. oktober 2011 - 05:49 #11
Som jeg prøvede at forklare, så er du nødt til at tage et valg her. Enten vil du bruge queries eller også vil du bruge sessions. Men når du gerne vil kunne sende links til folk, har du ikke rigtig noget valg. Du er nødt til at bruge queries.

Dem kan du gøre pænere, som jeg viste i min sidste post. For at dette skal virke:

RewriteEngine On
RewriteRule ^/(.+)/(.+)/$ vimygalleri.php?id=$1&username2=$2

så skal din .htaccess ligge i
http://www.sence22.com/date/test/


For at hente de her værdier, benytter du:

<?php
    if($_GET['id']){ $id = $_GET['id']; }
   
    if($_GET['username2']){ $username2 = $_GET['username2']; }
?>


Så hvis du går ind på
http://www.sence22.com/date/test/user/marie/
vil PHP vide at ID'et er 'user' og brugernavnet er 'marie'.

Fordi, som jeg skrev i min tidligere post, så opfatter serveren
http://www.sence22.com/date/test/user/marie/
som var det
http://www.sence22.com/date/test/vimygalleri.php?id=user&username2=marie


Det kunne også være
http://www.sence22.com/date/test/user/lars/
eller
http://www.sence22.com/date/test/guest/peter/
eller
http://www.sence22.com/date/test/employee/jesper/


Det er fuldt ud dynamisk. ;)
Avatar billede Sence22 Nybegynder
06. september 2012 - 09:51 #12
Den eneste måde jeg kan få lort til at virke optimalt er hvis jeg installere et Joomla system.... lol :)
Men tak for jeres besvær !
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
Kurser inden for grundlæggende programmering

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