2017-03-15 12 views
6

में प्रपत्र डेटा Symfony मिल मैं इस दृश्य हैनियंत्रक

conection: 
pattern: /conection 
defaults: { _controller: UserBundle:Default:conection} 

और मेरे नियंत्रक

<?php 

namespace myApp\UserBundle\Controller; 

use Symfony\Bundle\FrameworkBundle\Controller\Controller; 
use Symfony\Component\HttpFoundation\Response; 

class DefaultController extends Controller 
{ 
    //some other action functions 

    public function conectionAction(){ 

    } 
} 

मेरा प्रश्न कैसे मैं मिलता है है नियंत्रक में उपयोगकर्ता और पासवर्ड फ़ील्ड के मूल्य उनके साथ काम करने के लिए? मेरे पास खोज है लेकिन मुझे एक स्पष्ट समाधान नहीं दिख रहा है।

+0

http://symfony.com/doc/current/forms.html#handling-form-submissions –

उत्तर

8

इस प्रयास करें उदाहरण के लिए और का उपयोग करके, Symfony2.8

दृश्य:

<form action="{{ path('conection') }}" method="post" name="formulario_login"> 
     <label for="username">User:</label> 
     <input type="text" id="username" name="_username" value="" /> 
     <br /> 
     <label for="password">Password:</label> 
     <input type="password" id="password" name="_password" /> 
     <br /> 
     <input type="checkbox" id="remember_me" name="_remember_me"/> 
     <label for="remember_me">Remember me</label> 
     <br /> 
     <input type="submit" name="login" value="Login" /> 
    </form> 

नियंत्रक: पैरामीटर प्राप्त करने के लिए

public function conectionAction(Request $request) { 
    $username = $request->request->get('_username'); 
    $password = $request->request->get('_password'); 
    .... 
} 

अन्य तरह से, जैसा कि आप देख सकते हैं नामकरण यह सब अंतर्ज्ञानी नहीं है:

// $_GET parameters 
$request->query->get('name'); 

// $_POST parameters 
$request->request->get('name'); 
+0

धन्यवाद, अब मैं query- नियंत्रक में मेरी चर मिलता है, के रूप में आप कहते हैं,> get() विधि को फ़ील्ड का नाम चाहिए, आईडी नहीं। – SensacionRC

+0

हां @ सेंससियनआरसी, उदाहरण में आपको "_username" और "_password" फ़ील्ड का नाम मिलेगा, आईडी नहीं, अन्य तरीके और फ़ॉर्म बनाने के लिए सर्वोत्तम अभ्यास http://symfony.com/doc/2.8/forms है .html – rescobar

2

आप कार्रवाई विधि करने के लिए अनुरोध वस्तु पास करना चाहिए तो इसके साथ सौदा:

public function conectionAction(Request $request){ 
    if ($request->getMethod() == Request::METHOD_POST){ 
     $user = $request->request->get('user'); 
     $password = $request->request->get('password'); 
    } 
} 

हालांकि मैं सुझाव है कि आप Symfony Form Component उपयोग करने के लिए इस स्थिति से डायल करने के लिए।