2017-09-17 2 views
0

私は現在、(PHPとデータベースを使って)ウェブサイトを作っていますが、何か不思議なことがあります。?= idを含まないURLのID

egh95.com/u1egh95.com/t52-it-s-a-new-dayのようなURLからIDを取得できますか? 私はintを自分のIDにしたいだけです。私は$_Server["REQUEST_URI"]を使用して、URLからすべての文字と記号を取り除こうとしましたが、私が得たintはデータベースから情報を取り出そうとしませんでした。

私は$_GET["id"]を使用してURLからintを取得する方法を知っています(これはatmで動作する唯一のものです)。しかし、実際にはURLは?=id1かそのようにしたくありません。

+0

を(あなたがindex.phpファイルにIDを処理したいと仮定) idと見つかった場合は正しいページを返します – Cyclonecode

+0

intを取得するのはどういう意味ですか?あなたはegh95.com/u1からu1を取得したいのですか? – Mav

+0

ちょうどegh95.com/u1の1から、データベースから情報を取得するための自分のIDにすることができます – EGH95

答えて

0

私は基本的な正規表現を使っています。

$url = 'egh95.com/u1'; 
preg_match('/^.*\/u(?P<data>.*)/', $string, $matches); 
echo $matches['data']; 

$マッチ[「データ」]もし興味があるなら、この場合には1 Hereは、PHPで正規表現のためのいくつかのドキュメントは、uの後に番号が含まれています。

0

Apacheを使用している場合は、ModRewriteを使用してユーザーフレンドリーなURLを実装できます。少量の仕事であなたが書いたことを達成するのは簡単な方法です。その後.htaccessファイルに次の行に書く:あなたは、各IDとそれに対応するURLセグメント間のマッピングà保存要求を解析し、matchningà見つけようとする必要が

Options FollowSymLinks 
RewriteEngine On 
RewriteRule "^u(.*)$" "index.php?id=$1" 
+0

'RewriteRule^u([0-9] +)u.php?id = $ 1 [NC 、L] 'それは実際に働いた – EGH95