アプリ版:「スタンプのみでお礼する」機能のリリースについて

//ポストの値を配列を使って受け取る方法。
$post_key = array_keys($_POST);
$post_val = array_values($_POST);
for ($i = 0; $i < count($post_key); $i++) {
$$post_key[$i] = mb_convert_encoding($post_val[$i], "EUC-JP", $enc_input);
}
今こんな感じで書いていて、前はこんな感じで書いていました。

if( isset( $_POST['com_name'])){//会社名
$com_name = mb_convert_encoding($_POST['com_name'], "EUC-JP", "$enc_input");
}
こういうのがずっと続きます。

流石に効率が悪いので配列を使って受け取りたいのですが、

なかなかうまくいきません。

教えていただけたら嬉しいです。

$enc_inputという変数を準備しておいてダミーで送らせた内容をいくつかの文字コードで受け取りそれをEUC-JPに置き換えてるだけです。
出力のときにエンコードしてるのでソースの中でごちゃごちゃしてるとかはないと思います。

A 回答 (1件)

送信するページのformがどうなっているか分からないので推測での回答になりますが


------------------------------
foreach($_POST as $key => $val) {
$$key = mb_convert_encoding($val, "EUC-JP", $enc_input);
}
------------------------------
としたり
------------------------------
$post_data = array();
foreach($_POST as $key => $val) {
$post_data[$key] = mb_convert_encoding($val, "EUC-JP", $enc_input);
}
------------------------------
といった方法や、
送信フォームを
------------------------------
<form method="post">
<input type="text" name="post_data[]">
<input type="text" name="post_data[]">
<input type="text" name="post_data[]">
<input type="submit">
</form>
------------------------------
としておけば、$_POST["post_data"]に
$_POST["post_data"][0] = 一つ目の入力フォームの値
$_POST["post_data"][1] = 二つ目の入力フォームの値
$_POST["post_data"][2] = 三つ目の入力フォームの値
と入って来るので簡単なループで処理も可能かと思いますが。(どの項目に対する入力なのか判別が難しいのでこれは現実的でないと思います)
    • good
    • 0
この回答へのお礼

無事追加できました。

ありがとうございます。

お礼日時:2009/02/24 11:40

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!