4

私は、最後の開発者が「$フォーム」を使用せずにフォームを作成した既存のコードに取り組んでおり、コードは次のとおりです。

 public function indexAction() {
    .......

    $objRequest = $this->getRequest();
    var_dump($objRequest->isPost())  ==> all time return false
    if ($objRequest->isPost()) {

    $postedData = $objRequest->getPost();
    $inputData = new Zend_Filter_Input($this->filters, $this->validators,
                        $objRequest->getPost());

        $params = $this->getRequest()->getParams();
        if ($inputData->isValid()) {

   ..... 

そしてその場で:

<?php $actionURL = $this->url(array(
'controller' => 'index',
'action'     => 'index',
'module'     => 'default',
));
?>

<form name="indexFormn" id="indexForm"  method="POST" action="<?php echo $actionURL; ?>">
<div class="AdminformDiv">
    <div class="errorbox">
        <?php
        if (!is_array($this->actionErrors)) {
            echo $this->actionErrors;
        }
        ?>
    </div>
    <div>
        <table border="0" cellpadding="0" cellspacing="0" style="width:700px">
            <tbody>
                <tr>
                    <td style="width:128px">Amount</td>
                    <td colspan="2">$ <?php echo $this->price;?> USD<td     style="width:270px">&nbsp;</td>
                </tr>
                <tr>

    .....

つまり、彼はフォームクラスを使用していませんが、古いphpメソッドが好きですが、zendを使用しているため、常にfalseを返し、どこに問題があるかを修正または検出できませんか?

4

3 に答える 3

0

フォームにはmethod="GET"- POST フォームではないため、isPost()false が返されます。それをに変更するmethod="POST"と、問題ないはずです。

于 2013-08-21T18:09:23.263 に答える