3

私はSymfonyが初めてです。このトピックに関する多くのスレッドを見てきましたが、私が持っている質問に答えることができたスレッドはありません.

私のサイトには「お問い合わせ」フォームがあります。このコンタクト フォームは、submitQueryController を呼び出す path('submit_query') に送信されます。私は Symfony でフォームを作成しておらず、オブジェクトやエンティティも使用していません。私の問題は、何をしてもコントローラー内のフォームデータにアクセスできないことです。私が見たすべてのスレッドの提案を試してみましたが、大量のデータ (フォーム データではない) を含む REQUEST オブジェクトを取得するか、何も取得しません。

コントローラ内から投稿されたフォーム データにアクセスする簡単な方法はありませんか?

私のHTMLフォーム:

<form id="contact_form" role="form" action="{{ path('submit_query') }}" method="post">`
<div class="panel-body">
    <fieldset>
        <div class="form-group">
            <label for="name" class="control-label">Name</label>
            <input type="text" class="form-control" id="name" placeholder="Full Name" data-validation-error-msg="Please enter your full name" data-validation="length" data-validation-length="min1">
        </div>
        <div class="form-group">
            <label for="email" class="control-label">Email Address</label>
            <input type="email" class="col-sm-3 form-control" id="email" placeholder="Email Address" data-validation-error-msg="Please enter a valid email address" data-validation="email length" data-validation-length="min1">
        </div>
        <div class="form-group">
            <label for="number" class="control-label">Contact Number</label>
            <input type="text" class="form-control" id="number" placeholder="Contact Telephone Number">
        </div>
        <div class="form-group">
            <label for="subject" class="control-label">Subject</label>
            <input type="text" class="form-control" id="subject" placeholder="The subject of your query" data-validation-error-msg="Please enter a subject for your query" data-validation="length" data-validation-length="min1">
        </div>
        <div class="form-group">
            <label for="query" class="control-label">Query</label>
            <textarea class="form-control" id="query" rows="5" placeholder="Please enter a detailed description of your query" data-validation-error-msg="Please enter your query description" data-validation="length" data-validation-length="min1"></textarea>
        </div>      
    </fieldset>
</div>
<div class="panel-footer clearfix text-center"><button type="submit" class="btn btn-default">Submit Query</button></div>
</form>

コントローラ:

私がしようとすると:

public function submitQueryAction(Request $request)
{
    $data = $request->request->all();
    die(var_dump($data));
}

「$data」で空の配列を取得します。

私がしようとすると:

public function submitQueryAction()
{
    $data = $this->getRequest()->request->all();
    die(var_dump($data));
}

Request オブジェクトの vardump を取得しましたが、私のデータはありません。オブジェクトまたはエンティティを使用せずに POST 値を取得するために、Symfony2 リクエスト オブジェクトの Access POST 値によって提示されるソリューションも試しましたが、「未定義メソッド Symfony\Component\Form\Form::bindRequest() への呼び出し」というエラーが表示されます。

助けてください。前もって感謝します。

4

1 に答える 1