Rezultate 1 la 9 din 9

Subiect: Cum pot sa ?

  1. #1
    Avatarul lui starlookboy
    starlookboy este deconectat Junior SeoPedia
    Reputatie:
    32
    Data înscrierii
    9th February 2008
    Posturi
    26
    Putere Rep
    32


    Implicit Cum pot sa ?

    Aveti cumva idee cum as putea sau daca se poate sa fac linkul acesta:

    site.com/viewprofile.php?userid=2
    sa arate asa
    site.com/adrian

    ?

  2. #2
    Avatarul lui loco
    loco este deconectat Membru SeoPedia
    Reputatie:
    32
    Data înscrierii
    6th February 2008
    Posturi
    145
    Putere Rep
    32


    Implicit

    Trebuie sa ai ceva cunostinte PHP/MySQL.

    Iar in .htaccess scrii ceva de genu:
    RewriteEngine On
    RewriteRule ^([a-zA-Z0-9_-]+)$ viewprofile.php?username=$1

    Asta inseamna ca orice cerere ce contine cel putin o litera, un numar, "-", sau "_" va fi redirectata scriptului viewprofile.php variabilei $_GET[username] .

    Exemple:
    * site.com/adrian va apela site.com/viewprofile.php?username=adrian
    * site.com/adrian-32 va apela site.com/viewprofile.php?username=adrian-32
    * site.com/adrian.php nu face parte din regula (apare ".").

    Iar in viewprofile.php adaugi ceva de genu:
    $uname = addslashes($_GET['username']);
    $query = mysql_query("SELECT user_id FROM tabela_cu_userii WHERE user_name = '$uname'");
    $fetch = mysql_fetch_array($query);

    $userid = $fetch[user_id];
    $_GET['userid'] = $userid; // asta in cazul in care $userid se citeste prin $_GET

    Acum nu stiu exact daca astea sunt campurile la forumul ce il folosesti.

    LE:
    Totusi, e mai de preferat ca forumul sa fie intr-un folder, ca asa pot aparea diferite probleme.

    Recomand ceva de genul:
    RewriteEngine On
    ^forum/user/([a-zA-Z0-9_-]+)$ forum/viewprofile.php?username=$1 [L]

    Sintaxa va fi de forma: site.com/forum/user/adrian

    O sa ai ceva probleme cu afisarea imaginilor si altor resurse din document (ex: css, js) ce au calea relativa. O solutie ar fi sa folosesti base href.
    Ultima modificare făcută de loco; 9th February 2008 la 15:08.

  3. #3
    Avatarul lui dublutz
    dublutz este deconectat Membru SeoPedia
    Reputatie:
    33
    Data înscrierii
    3rd October 2007
    Vârstă
    41
    Posturi
    175
    Putere Rep
    33


    Implicit

    mai simplu

    RewriteEngine On

    RewriteRule ^(.*)$ viewprofile.php?username=$1

    in php vei avea $_GET['username'] = "adrian" in exemplul tau;

  4. #4
    Avatarul lui loco
    loco este deconectat Membru SeoPedia
    Reputatie:
    32
    Data înscrierii
    6th February 2008
    Posturi
    145
    Putere Rep
    32


    Implicit

    dublutz, dar asa orice cerere va fi redirectata lui viewprofile.php .

    Inclusiv index.php, etc.

    Eventual de ar fi sintaxa de forma:
    RewriteRule ^user-(.*)$ viewprofile.php?username=$1
    --> site.com/user-adrian
    Ultima modificare făcută de loco; 9th February 2008 la 15:28.

  5. #5
    Avatarul lui starlookboy
    starlookboy este deconectat Junior SeoPedia
    Reputatie:
    32
    Data înscrierii
    9th February 2008
    Posturi
    26
    Putere Rep
    32


    Implicit

    Merci mult de tot. Mi-ati dat mura in gura. Acum voi incerca sa implementez.
    Cunostinte PHP/Mysql am. Cu apache stau mai greu.

  6. #6
    Avatarul lui loco
    loco este deconectat Membru SeoPedia
    Reputatie:
    32
    Data înscrierii
    6th February 2008
    Posturi
    145
    Putere Rep
    32


    Implicit

    Nu ai pt ce!

    Pare mai dificil la inceput.. dar e relativ simplu.

    Bafta.

  7. #7
    Avatarul lui starlookboy
    starlookboy este deconectat Junior SeoPedia
    Reputatie:
    32
    Data înscrierii
    9th February 2008
    Posturi
    26
    Putere Rep
    32


    Implicit

    loco metoda ta..desi mai buna nu merge...nu stiu de ce dar nu are niciun efect.
    metoda lui dublutz merge dar asa cum ziceai tu inlocuieste orice, chiar si o pagina cum ar fi site.com/browse.php redirectioneaza la site.com/viewprofile?userid=browse.php

  8. #8
    Avatarul lui loco
    loco este deconectat Membru SeoPedia
    Reputatie:
    32
    Data înscrierii
    6th February 2008
    Posturi
    145
    Putere Rep
    32


    Implicit

    Ar fi trebuit sa mearga.. Am si testat si a mers pe localhost.

    Exemplul lui dublutz se poate imbunatati pentru a functiona si in cazul in care exista fisierele la care se face request.

    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^(.*)$ viewprofile.php?username=$1

    Sau prin negatie ("orice caracter in afara de /"), care se spune ca este mai rapid decat metoda "greedy" (.*):

    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^([^/]+)$ viewprofile.php?username=$1

    Si a doua metoda e OK si in cazul in care se face request la un script din alt director (tocmai din cauza faptului ca apare acel / in negatie).
    Daca totusi vrei sa folosesti prima metoda (.*) - insa nu recomand, trebuie sa pui si :
    RewriteCond %{REQUEST_FILENAME} !-d

    Oricum eu prefer varianta de la sfarsitul postului nr#2.

  9. #9
    Avatarul lui starlookboy
    starlookboy este deconectat Junior SeoPedia
    Reputatie:
    32
    Data înscrierii
    9th February 2008
    Posturi
    26
    Putere Rep
    32


    Implicit

    multumesc din nou pentru raspuns. voi incerca mai tarziu si iti voi spune ce am facut

Informații subiect

Utilizatori care navighează în acest subiect

Momentan este/sunt 1 utilizator(i) care navighează în acest subiect. (0 membrii și 1 vizitatori)

Permisiuni postare

  • Nu puteţi posta subiecte noi.
  • Nu puteţi răspunde la subiecte
  • Nu puteţi adăuga ataşamente
  • Nu puteţi modifica posturile proprii
  •