1

PHPフォームのデータをデータベースに送信する独自​​のモジュールを作成しました。私は今記事の中にモジュールを持っています。

フォームを送信すると、送信を成功させるための別のテンプレート ページがあるにもかかわらず、404 エラー ページが表示されます。

action = post.php と正確な URL を使用してみましたが、失敗します。

誰が私が間違っているのか知っていますか?

URL は次のとおりです: http://aubrey-joomla-test.freeiz.com/index.php/new-user-registration-form

デフォルト テンプレートのファイル名は次のとおりです: default_tmpl.php

ここに私のtmplコードがあります:

<div>
    <form action="<?php echo JRoute::_('index.php'); ?>" method="post" id="myform" class="cols"  >

        <input type="hidden" name="form_send" value="send" />

        <h2>New User Registration Form</h2>
                <table>
                <label>Are you employed?</label>
                <tr>
                    <td><label><input type="radio" name="option" value="1" required="required">Yes</label></td>
                    <td><label><input type="radio" name="option" value="0" required="required">No</label></td>
                </tr>
                <label>If not, please proceed to the next section.</label>
                </table>

          <fieldset name="salary">

            <h4>Income From Employment</h4>             
                <table> <tr><label>Pay cycle:</label>
                    <td><label><input type="radio" name="option1" value="1" required="required">Monthly</label></td>
                    <td><label><input type="radio" name="option1" value="2" required="required">Biweekly</label></td>
                </tr> </table>
            <p><label>Please enter your typical pay: <input type="text" name="amountpay" required="required" pattern="\d+(\.\d{2})?"/> </label></p>
            <p><label>Please select your next pay day: <input type="date" name="paydate"  required="required" /> </label></p>

          </fieldset>

          <fieldset name="fixeditems">
            <h4>Fixed Items</h4>
                <table> <label>Payment cycle:</label> <tr>
                <td><label><input type="radio" name="option2" value="1" required="required">Monthly</label></td>
                <td><label><input type="radio" name="option2" value="2" required="required">Biweekly</label></td>
                <tr>
                </table>

                <table> <label>Is this a form of:</label> <tr>
                    <td><label><input type="radio" name="option3" value="2" required="required">Income</label></td>
                    <td><label><input type="radio" name="option3" value="1" required="required">Expense</label></td>
                <tr>
                </table>        

            <p><label>Please enter the typical amount: <input type="text" name="amount" required="required" pattern ="\d+(\.\d{2})?" /> </label></p>
            <p><label>Please select the next due date: <input type="date"  name="amountdate" required="required" /> </label></p>
          </fieldset>

          <hr>

          <div class="clear"></div>

          <button type="submit" name="send" value="Send">Submit form</button>
          <button type="reset">Reset</button>



</form>
</div>
4

1 に答える 1

0

フォームの送信を処理するコードがありません。フォームを表示する代わりに、フォームの送信を処理する追加のコードをトリガーする隠しフィールドを追加する必要があります。モジュールには次のようなものが必要です-

if $_POST["form_submit_trigger"] :

PUT SOME CODE HERE TO HANDLE YOUR SUBMITTED DATA

else

PUT THE CODE TO DISPLAY YOUR FORM HERE

form_submit_trigger は、フォームがダイアプライされるたびに生成およびハッシュされる、フォーム内の隠しフィールドである必要があります。このようにして、フォームが実際に生成され、サイトに送信されたことを確認できます。

于 2012-08-09T14:48:24.243 に答える