2

私ができるようにしたいのは、誰かがURLバーに書いた場合です

www.somesite.com/test

test はユーザー名のようなものなので、www.somesite.com/Username になり、別のページに移動して、ユーザー名が同じデータからデータを表示します。

ページは別のページに移動し、データベースからのデータを表示します

これは最初に可能ですか?

そして、これは私が今書いたもので、それほど多くはありません。また、PHPも初めてです

$url = 'http://'. $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
$url2 = "http://www.somesite.com/"$databaseVar1=mysql_result($result,$i,"username");

if ($url) == ($url2)
{
header("location: http://somesite.com/viewcontent.php");
}
else
{
//not found
}

私はこのようなことをすることができますか? どんな助けでも大いに感謝します

4

5 に答える 5

0

必要に応じて完璧にするには、 mvc アーキテクチャを使用する必要があります。
mvc の URL は、希望どおりです。url から直接パラメーターを指定してメソッドを呼び出すことができます。これはmvc アーキテクチャの URL パターンです- www.yoursitename.com/controller/methodname/parameter

于 2013-05-31T10:30:41.467 に答える
0

すべてのリクエストを index.php にリダイレクトするには、.htaccess で書き換えルールを使用する必要があります。次に Index.php を使用できます

またはあなたが置くことができますか?ユーザー名の前に。その後、index.php はすべてのリクエストを自動的に取得します。$_SERVER['querystring'] はユーザー名を受け取ります。

于 2013-05-31T10:04:10.763 に答える
0

index.php をアプリケーション ディスパッチャとして定義し、リクエストをそれにリダイレクトする .htaccess ファイルを作成できます。

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule . index.php [L]

index.php:

$page = $_SERVER['REQUEST_URI']; //=> '/Users/show'

if ($page == '/some/page/') include('file_that_handles_this_request.php');

または、これを使用してクラスのインスタンスを作成し、メソッドを呼び出すことができます。

$page = $_SERVER['REQUEST_URI']; //=> '/Users/show'
list($class, $method) = explode($page);

$object = new $class();
$object->{$method}();
于 2013-05-31T10:04:23.840 に答える
0

いくつかの仮定をとります(質問に完全なソースコードがないため):

  1. mysql接続が確立されました
  2. 適切なクエリが mysql サーバーに送信されました
  3. 変数 $i は意味のある値に設定されています
  4. www サーバーは、リクエストを index.php に書き換えるように構成されています

REQUEST_URI をデータベースから取得した「username」列の値と比較するだけです。ヘッダー "Location: ..." には大文字の "L" が必要です。

また、PHP で文字列を比較する場合は、"==" 演算子を使用しないでください。strcmp() 関数の方が信頼性が高くなります。"==" 演算子は、等しいかどうかではなく同一性をテストします。数値を比較するのに便利です。

于 2013-05-31T10:08:59.430 に答える