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

POST送信されたデータが複数あります。

<{$smarty.post.address1}>
<{$smarty.post.address2}>
<{$smarty.post.address3}>

というように書けば取得できるのですが、項目数が可変な為
ループで処理できないものかと思います。

そこで下記のように試しましたがエラーになります。
assignのvalueの記述が間違ってるような気もしますが、わかりません。
そもそも、予約変数はこのような使い方はできないのでしょうか?

<{section name=cnt loop=$kosu}>
<{assign var="str" value='$smarty.post.address'|cat:$smarty.section.cnt.iteration}>
<{$str}>←$smarty.post.address1のデータを出力してほしい
<{/section}>

A 回答 (1件)

<{section name=cnt loop=$kosu}>


<{assign var="str" value='address'|cat:$smarty.section.cnt.iteration}>
<{$smarty.post.$str}>
<{/section}>

これでいけますよ。(もう少しだった。
$kosuもテンプレート側でいけますがなるべくPHP側でやったほうがいいです。

セキリティー的に色々ありそうですが、別処理でやってますよね。
    • good
    • 0
この回答へのお礼

出来ました!ありがとうございます!!
こういう風に使うんですね。検索しても理解できるようなページが
なくて困っていました。

セキュリティ的に色々ありそうというのは、エスケープ処理
とかのことでしょうか?
フォーム送信するのは、全てhiddenなので、問題ないかなって
思いますが、セキュリティの部分についてはあまり理解していません。
どういった問題があるのか教えて頂ければ幸いです。

このサイトは、ネットショップのサービスを利用していて
PHP側はいじれないようです。

お礼日時:2011/09/19 21:20

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