私はPHPが初めてです。指定された URL 名から DB 名とテーブル名を抽出する方法についてヘルプが必要です。たとえば、次のような URL があるとします。
/test.php?db=...&table=.../
PHP を使用してこの URL から DB 名とテーブル名を抽出し、その結果を他のクエリ目的に使用する方法。
パラメータの既存の URL を解析する方法を意味する場合:
parse_url() と parse_str() は、URL のコンポーネントを削除するのに役立ちます。主に次の項目を確認します。
$elements = parse_url($url);
$kvps = $elements->query;
$db = parse_str($kvps['db']);
$table = parse_str($kvps['table']);
ただし、レンダリング前に現在のページから変数を取得する方法を意味する場合:
<?php
$dbname = $_GET['db'];
$tablename = $_GET['table'];
?>
そうです、この方法でデータベースへの「直接」アクセスを開くことには、重大なセキュリティ リスクが伴います。index.php&addUser=tim
の代わりにタスクで関数を難読化/カプセル化/ラップするのが最善ですindex.php&insert=tim&db=boofar&table=users&dbuser=root&dbpassword=secure
。
学んでいるだけなら、なぜそれが間違っているのかを理解している限り、あなたがしていることは問題ありません。本番用にコーディングしている場合は、代替ソリューションが本当に必要です。
変数またはデータを別のページに渡す方法は 2 つあります。
GET (URL 経由) および POST (通常はフォーム送信)
$_GET http://php.net/manual/en/reserved.variables.get.phpからいつでも取得できます
また
$_POST http://nl.php.net/manual/en/reserved.variables.post.php