データベースからデータを取得するより良い方法を知る必要があります。たとえば、製品の確認ボタンをクリックすると開発中のページでは、その特定の製品の ID がhttp://domainname.com/products.php?id=1などの製品ページに渡されます。明らかに、これはデータを取得するための悪い方法です。?id=1 を使用せずに、この id 値を製品ページに渡すにはどうすればよいですか。
ありがとう
データベースからデータを取得するより良い方法を知る必要があります。たとえば、製品の確認ボタンをクリックすると開発中のページでは、その特定の製品の ID がhttp://domainname.com/products.php?id=1などの製品ページに渡されます。明らかに、これはデータを取得するための悪い方法です。?id=1 を使用せずに、この id 値を製品ページに渡すにはどうすればよいですか。
ありがとう
どうやらこれはデータを取得する悪い方法です
それはまったく真実ではありません。この場合、$_GET の代わりに $_POST を使用すると、特定の製品のページに純粋な URL からアクセスできなくなります。ID 2321 の製品のリンクを Facebook の友達と共有したい場合はどうすればよいですか?
たとえば、londonperfumeshop.co.uk/diesel-zero-plus-men などのウェブサイトをご覧ください。私が推測する製品はデータベースから取得されますが、ドメインを介して渡される ID はありません。それはphpでどのように行われますか?– user2257461
これはURL リライトと呼ばれます。基本的にPHPの機能ではありません。これは Web サーバーの機能です。URL 書き換えの背後にある概念は、URL のパターンを別の URL のパターンにマップすることです。例えば。マップしたい
products/(.*) -> products.php?alias=$1
誰かが次のリンクにアクセスしようとした場合:
次のリンクにマップされます。
つまり、基本的にはまだ $_GET です。エイリアスを使用すると、URL が見栄えがよくなり、親しみやすくなりますが、小さな問題があります。エイリアスは変更できます。製品の名前を変更したいので、エイリアスも変更する必要があるとしましょう。古いリンクが無効になります。この問題を解決するには、エイリアスと ID を組み合わせることができます。
products/([0-9]+)-(.*) -> products.php?id=$1
誰かが次のリンクにアクセスしようとした場合:
次のリンクにマップされます。
エイリアスで ID を使用すると、クエリの速度が向上します。製品の ID は常に同じです (製品 ID が変更されることはまれです)。