2010-11-24 12 views
1

? URLは、私はIDを見つけるのですか、この場合http://www.website.com/users/edit/1/stack-overflow/ある場合phpを使ってSEOフレンドリーなURLからIDを取得するには?私はSEOのフレンドリーURLからユーザーのIDを取得するにはどうすればよい

はここで、URL(1がIDです)

http://www.website.com/users/edit/1

だと?

私は<?php user = User::find($_GET['id']); ?>として取得しようとしていますが、IDは機能しません。

答えて

2
<?php 
$url = explode("/",($_SERVER["REQUEST_URI"])); 
print_r($url); 
?> 

で、users/edit/1/stack-overflow/のようなものが含まれていますスーパーグローバル$_SERVER['REQUEST_URI']を、解析...

.htaccessファイル:

+1

-1とマークした人は、理由を説明できれば素晴らしいでしょう。なぜなら、これは彼が求めているのとまったく同じだからです... –

+1

私は誰ですかあなたに投票しましたが、あなたが正しかったので投票しました。 – foxsoup

0

私はあなたが使用しているクラスやフレームワークについてもっと詳しく教えてください...しかし、あなたがしていることはまったくできません。なぜなら、$ _GETは空になっているので、このfindは何も検索しません。

+0

うん、私はそれを知っています。私は$ _GETの代わりに変数を使用すると思います –

0

[2]あなたが後にあるIDを持つ必要があり、あなたのケース$ URLに正規表現またはsubstrstrpos

1

これを実現する最良の方法は、$_GET変数を割り当てるために.htaccessmod_rewriteを使用しています: PHPスクリプトで次に

RewriteBase/
RewriteRule ^users/edit/(.*)/(.*)$ users/edit/?user_id=$1&somethingelse=$2 [L,NC] 

$user_id = $_GET['user_id']; 
$somethingelse = $_GET['somethingelse']; 
関連する問題