我想從選擇框中發佈值,通過PHP運行它們並將它們分配給一個Smarty對象。
我的HTML標記如下:
<form action="http://www.domain.com/index.php?page=presse" method="post">
<p><label for="startDate" class="search-label">Jahr:</label>
<select name="datepicker">
<option value="2014">2014</option>
<option value="2013">2013</option>
<option value="2012">2012</option>
</select></p>
<select name="issue">
<option value="Abisolierzange">Abisolierzange</option>
<option value="International">International</option>
<option value="Kabelmesser">Kabelmesser</option>
</select></p>
<input type="submit" name="submit_presse_filter" class="blockHeadline" value="Suchen">
</form>
我收到的表單數據是這樣的:
if(isset($_POST['submit_presse_filter'])) {
$date = $_REQUEST['datepicker'];
$issue = $_REQUEST['issue'];
$search_results["issue"]["datum"] = $date;
$search_results["issue"]["ueberschrift"] = $issue;
}
而且finaly在我的模板我拿出這樣的數據:
{search_result.date}
{search_result.ueberschrift}
但我只會得到值的第一個字母,如
2
日期和
A
對這一問題的第一個值。
這是爲什麼?
編輯:
這個錯誤是智者的foreach子句中。
在PHP中我建立一個計數器是這樣的:
{if $search_results.issue}
<p><strong>Presse</strong></p>
<ul>
{foreach item=search_result from=$search_results.issue}
<li>
<h2>{$search_result.datum}</h2>
</li>
{/foreach}
</ul>
{/if}
試試這個 - '$ date = $ _POST ['datepicker']; $ issue = $ _POST ['issue'];' –
這通常發生在您訪問字符串位置而不是數組索引時 – verbumSapienti
將調試輸出添加到'if(isset($ _ POST ...'你的代碼看看'$ date'和'$ issue'是否包含你想要的值(他們應該從我在這裏看到的)。然後你知道你的問題是用HTML-POST-PHP部分還是隻用PHP內部編碼 – SebastianH