我正在努力使用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
我已经在这种情况下发布了这个答案,所以我们可以进一步评论,或者您可以接受答案,以便它不会显示在未答复的提要中。 –