0

私はPHPが初めてです。指定された URL 名から DB 名とテーブル名を抽出する方法についてヘルプが必要です。たとえば、次のような URL があるとします。

/test.php?db=...&table=.../

PHP を使用してこの URL から DB 名とテーブル名を抽出し、その結果を他のクエリ目的に使用する方法。

4

2 に答える 2

2

パラメータの既存の 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

学んでいるだけなら、なぜそれが間違っているのかを理解している限り、あなたがしていることは問題ありません。本番用にコーディングしている場合は、代替ソリューションが本当に必要です。

于 2012-06-17T11:03:10.527 に答える
1

変数またはデータを別のページに渡す方法は 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

于 2012-06-17T11:06:42.797 に答える