我正在努力使用PHP和表單。[PHP和表單]:提交按鈕僅在第二次生成正確的鏈接
</div><div class="page-header">
<h2><?= t('Ticker settings for project "%s"', $project['name']) ?></h2>
</div>
<div>
<form id= "ticker" method="post" action="<?= $this->url-
>href('TickerController', 'set_ticker', array('project_id' =>
$project['id'], 'ticker_text' => $_POST['textbox_ticker_text'])) ?
>&plugin=Ticker">
<?= t('Ticker text:') ?><br>
<input type="text" id="textbox" accept-charset="UTF-8"
name="textbox_ticker_text" value="<?php echo $project['ticker_text'];?>">
<?= $this->modal->submitButtons();?>
</form>
</div>
確定這裏就是問題所在: 我第一次按下提交按鈕 - 正在生成一個錯誤的鏈接。它不包含文本框「textbox_ticker_text」。在我再次按下提交按鈕後,文本將被包含在鏈接中。還是第二次按下按鈕時,第一次的文本將被賦予「TickerController」並寫入數據庫。
我不知道是什麼原因導致這種奇怪的行爲。 任何人都可以給我一個提示嗎?
PS: 只是爲了把事情說清楚:
一)我輸入「666」,然後按提交 - >「」被寫入到數據庫中。 b)我輸入「777」,按提交 - >「666」正在寫入數據庫,超鏈接包含「666」而不是「777」。
看起來頁面總是落後一步。
您的表單操作沒有任何意義。您正在使用post方法,但是然後將POST參數發送給操作。這只是在表單發送後才設置的,所以難怪它落後了一步。將它作爲輸入參數移動到窗體上,然後檢查控制器中的POST變量 –
好的,那已經幫了我! – Dawko
我已經在這種情況下發布了這個答案,所以我們可以進一步評論,或者您可以接受答案,以便它不會顯示在未答覆的提要中。 –