PHPで$ _POST配列キーの値として変数を渡す方法はありますか?それとも不可能なのでしょうか?
$test = "test";
echo $_POST[$test];
おかげ
PHPで$ _POST配列キーの値として変数を渡す方法はありますか?それとも不可能なのでしょうか?
$test = "test";
echo $_POST[$test];
おかげ
$_POST['key'] = "foo";
echo $_POST['key'];
私が右理解している場合は、あなたは$_POST
キーを設定したいです。
はい、はい次のことができます。
$postName = "test";
$postTest = $_POST[$postName];
$_POST["test"] == $postTest; //They're equal
あなたが言ったと同じように作品...
例:コメントやdownvotesに基づいて更新
// create an array of all the GET/POST variables you want to use
$fields = array('salutation','fname','lname','email','company','job_title','addr1','addr2','city','state',
'zip','country','phone','work_phone');
// convert each REQUEST variable (GET, POST or COOKIE) to a local variable
foreach($fields as $field)
${$field} = sanitize($_POST[$field]);
?>
....
コメントで以下に示唆されたとして、私は、ないですすべてのデータをループして、変数のループリストを変数に追加し、変数に格納して変数に格納します。
私はdを取得する方法を変更しましたata
これはほとんど実行されるべきではありません、私は簡単にあなたのコードを注入することができますまたはシステム変数を変更し、クエリ文字列を変更してシステム情報を収集する! – Fabrizio
@Fabrizio私の知らないこと申し訳ありません - あなたは私のコードを注入することができます - 配列はサーバー側ですか?どのようにそれぞれ異なるものを表示するのですか – ManseUK
'$ mysql_user'というシステム変数があり、'?mysql_user = root'のようなクエリを渡すと、ユーザを使ってmysqlサーバに接続しようとします'ルート'。それは私に必要以上の情報を与える画面上のエラーを与える可能性があります。 PHPで使われていた 'register_global'をエミュレートしようとしています。 – Fabrizio
私はあなたが正しいとすれば、ポストを介してあるPHPファイルから別のPHPファイルに変数を渡したいと思っています。これはいくつかの点で可能です。 HTML形式で
1.
<form action="target.php" method="post">
<input type="text" name="key" value="foo" />
<input type="submit" value="submit" />
</form>
あなたが提出ボタンをクリックすると、target.php
で$_POST['key']
が'foo'
が含まれています。
PHP
$context = stream_context_create(array(
'http' => array(
'method' => 'POST',
'header' => "Content-type: text/html\r\n",
'content' => http_build_query(array('key' => 'foo'))
),
));
$return = file_get_contents('target.php', false, $context);
のように同じことから直接2、および$return
はtarget.php
によって生成されたすべての出力が含まれます。
3を介してAJAX(jQueryの(JavaScriptの))2.のように
<script>
$.post('target.php', {key: 'foo'}, function(data) {
alert(data);
});
</script>
同じことが、今data
はtarget.php
からの出力が含まれています。
あなたが実証するものはうまくいくはずですが、何をしようとしているのか分かりません。 –
ああ、それは動作します。別のコードがそれを投げていました。 – Dietpixel