2012-05-10 42 views
0

私たちがフレームワークを使用しない場合、ユーザーが動的に作成できる新しいページの新しいURLをPHPで生成する方法は? たとえば、ユーザーは新しいアカウントを作成したり、新しい記事を投稿したりすることができます。具体的なURLはhttp://www.a.com/username/article/2011231.phpのように割り当てられます。 私の質問は特定の番号2011231と全体のURLを生成する方法ですか?PHPで新しいページの新しいURLを生成する方法

+0

.htaccessがどのように舞台裏で、それのいずれかを行っているでは、実際にexample.com/article/how-to-bake-a-cake

のようなURLを持つように.htaccessを使うのでしょうか? –

+0

私はあなたが実際にそれらの記事をデータベースに保管していると信じています!そこにURLを割り当てることができます! – Broncha

+0

フレームワークは単にツールの集まりです。彼らはフレームワークなしではできない何もしません...彼らは(時には)簡単にします。 –

答えて

0

見た目から、そのURLはyearmonthday.phpという形式の日付で構成されています。コピーしたい場合は、date('Ymd')を使用できます。一方、増分値を求めてデータベースに記事を格納する場合は、単にINSERTコマンドを実行してから、その後mysql_insert_id()関数を使用してIDを取得します。その後、Apacheは、データベースにその記事を検索して、そのようなものを、それを表示していましたPHPファイルに/username/article/[number].php書き換えに書き直す必要があります:

RewriteEngine On 
RewriteRule ^/username/article/(\d*)\.php$ /articles.php?articleid=$1 

取ることになります例えば、http://domain.com/username/article/12345.phpの要求を受け取り、/articles.php?articleid=12345に送信します。そこから$_GET["articleid"]にIDが含まれます。あなたも名を知っているPHPスクリプトを必要とする場合は、この使用することができます

RewriteEngine On 
RewriteRule ^/(.*)/article/(\d*)\.php$ /articles.php?username=$1&articleid=$2 

を次に$_GET["username"]は、ユーザ名を持っているでしょうし、$_GET["articleid"]は、物品のIDを持っているでしょう。

2

あなたが探しているものは、pretty-urlsです。

URLリライトを使用する必要があります。

データベースに適切なURLの記事を保存する必要があります。ユーザーが記事How to bake a cakeを作成したとします。 how-to-bake-a-cakeのようなarticleテーブルにこの記事のかなりのURLを保存します。あなたはこれらのかなりのURL

フロントエンドでの発言にタイトルを変換するには、いくつかのメカニズムをやる必要があるあなたが持っているarticle.php

article.phpのデフォルトの動作はarticle.phpあなたと記事を見つけることでexample.com/article.php?url=how-to-bake-a-cake

です秘密結婚してそれを表示する。

今すぐあなたの

RewriteEngine On 
RewriteCond %{REQUEST_URI} ^article/(.*) 
RewriteRule article.php?url=$1 
+0

これは、MVCフレームワークは:) – Samson

関連する問題