2010-11-24 2 views
1

사용자 친화적 인 URL에서 사용자의 ID를 얻으려면 어떻게해야합니까? URL이 내가 ID를 찾을 수 있습니까 방법이 경우에 http://www.website.com/users/edit/1/stack-overflow/ 경우PHP를 사용하여 서재응 친화적 인 URL에서 ID를 얻는 방법?

여기,

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

을 (1 ID가있다)에 URL을 그리고?

나는 이것을 <?php user = User::find($_GET['id']); ?>으로 얻으려고하고 있지만 ID가 작동하지 않습니다.

답변

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

으로, users/edit/1/stack-overflow/ 같은 것을 포함

+1

-1로 표시된 사람은 이유를 설명 할 수 있다면 좋을 것입니다. 왜냐하면 이것이 그가 요구 한 것과 똑같이 할 것이기 때문입니다 ... –

+1

아니 었어? 당신을 혐의로 기각했지만, 당신이 옳았 기 때문에 다시 투표했습니다. – foxsoup

0

음 ... 사용하는 수업이나 프레임 워크에 대해 더 자세히 알려주세요.하지만 무엇을하고 있더라도 전혀 일을 할 수 없습니다. 왜냐하면 $ _GET은 실제로 URL에있는? id = 123 방식으로 매개 변수를 전달하기 만하면 무언가를 포함하기 때문에 ... $ _GET이 비어 있기 때문에이 찾기는 아무 것도 검색하지 않습니다. [2] 당신이 이후에있는 ID가 있어야합니다 귀하의 경우 $ URL에 정규식 또는 substrstrpos

+0

그래, 나도 알아. 나는 $ _GET 대신 변수를 사용할 것입니다. –

0

구문 분석 슈퍼 글로벌 $_SERVER['REQUEST_URI'], ...

의 .htaccess :

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']; 
관련 문제