Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [inne]Mod Rewrite - Jak zmienić ID na Nazwe w linku ?
Soulast
post
Post #1





Grupa: Zarejestrowani
Postów: 133
Pomógł: 6
Dołączył: 26.10.2009

Ostrzeżenie: (0%)
-----


Tak jak w temacie w jaki to sposób mogę zmienić w adresie URL przy pomocy mod_rewrite ID na Nazwę ?
Zauważyłem że sporo to stron już jakoś posiada, czytałem sporo o mor rewrite ale dalej nie wiem jak to zrobic.

Obecnie napisałem oto taki kod w .htaccess

  1. <IfModule mod_rewrite.c>
  2. RewriteEngine on
  3. RewriteCond %{REQUEST_FILENAME} -f [OR]
  4. RewriteCond %{REQUEST_FILENAME} -d
  5. RewriteRule .+ - [L]
  6. RewriteRule ^([^/]+)$ index.php?m=user&op=view&account=$1 [QSA,L]
  7. </IfModule>


Działa on obecnie bez problemowo www.mojastrona.com/(id użytkownika) a próbuje zrobić coś na zasadzie www.mojastrona.com/(nazwa użytkownika) ...

Mam wrażenie że to banalnie proste..:/

Ten post edytował Soulast 23.06.2010, 14:17:07
Go to the top of the page
+Quote Post
erix
post
Post #2





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Hmm, regułki są OK, tylko pozostaje jeszcze kwestia modyfikacji skryptu tak, aby generował nowe schematy linków oraz je obsługiwał (wyciąganie po nazwie, nie po ID).

Zależy, jaki masz skrypt.
Go to the top of the page
+Quote Post
Soulast
post
Post #3





Grupa: Zarejestrowani
Postów: 133
Pomógł: 6
Dołączył: 26.10.2009

Ostrzeżenie: (0%)
-----


nie wiem co do konca napisac o skrypcie ale jest on oparty na emulacji register_globals off

i część odpowiadająca za wyłowanie id użytkownika mniej więcej wygląda tak:

  1. function view($account){
  2. global $config;
  3. if(!$account){
  4. error("Invalid Member");
  5. }
  6. $member=mysql_query("SELECT *,DATE_FORMAT(joined,'%M %d, %Y') as \"Joined\" FROM members WHERE id='$account'");
  7. $member=mysql_fetch_array($member);
  8. if(!$member[id]){
  9. error("Invalid ID");
  10. }
Go to the top of the page
+Quote Post
erix
post
Post #4





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




No to czeka Cię zarówno przerabianie wszystkich zapytań, jak i modyfikacja wyświetlania linków.
Go to the top of the page
+Quote Post
Soulast
post
Post #5





Grupa: Zarejestrowani
Postów: 133
Pomógł: 6
Dołączył: 26.10.2009

Ostrzeżenie: (0%)
-----


Jak to zwykle banał.

patrząc na swój kod wystarczyło zmienić id na name w zapytaniu sql....

a dokładnie:

  1.  
  2. function view($account){
  3. global $config;
  4. $add[comment] = str_replace ('\'', '`', $add[comment]);
  5. if(!$account){
  6. error("Invalid Member");
  7. }
  8. $member=mysql_query("SELECT *,DATE_FORMAT(joined,'%M %d, %Y') as \"Joined\" FROM members WHERE name='$account'");
  9. $member=mysql_fetch_array($member);
  10. if(!$member[name]){
  11. error("Invalid ID");
  12. }


Działa bez problemowo..

Ten post edytował Soulast 23.06.2010, 16:10:49
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 20.09.2025 - 17:09