2011-09-13 2 views
-1

comment vais-je faire cela? J'ai le code:comment tester si le formulaire est post ou obtenir?

public function executeListmatches(sfWebRequest $request) 
{ 
    $form_values = $request->getParameter('match_form', array()); 
    if (isset($HTTP_POST_VARS)) 
    { 
     $gender_id = $form_values['gender_id2']; 
     $age1 = $form_values['age1']; 
     $age2 = $form_values['age2']; 
     $province_id = $form_values['id']; 
    } 
    else 
    { 
     echo $gender_id = $request->getParameter('gender2'); 
     echo $age1 = $request->getParameter('age1'); 
     echo $age2 = $request->getParameter('age2'); 
     echo $province_id = $request->getParameter('id'); 
    } 
    $this->pager = $this->setupPager($gender_id,$age1,$age2,$province_id); 
    return sfView::SUCCESS; 
}  

mais la ligne if (isset ($ HTTP_POST_VARS)) n'est pas correct merci

+0

Notez que '$ HTTP_POST_VARS' est obsolète maintenant et vous devriez utiliser' $ _POST' (bien que ce ne soit pas la solution à votre problème) –

+0

Pourquoi le feriez-vous? On dirait un problème de sécurité pour moi. Vous devriez toujours savoir si un formulaire est post ou obtenir. Ne pas savoir indique que vous ne savez pas d'où vient l'entrée. Si vous acceptez des soumissions de tiers, vous devez établir des règles pour ces soumissions. –

Répondre

3

Vous pouvez vérifier la méthode avec sfWebRequest::isMethod($name);.

Donc, utilisez: if ($request->isMethod('POST')).

1

HTTP_POST_VARS & HTTP_GET_VARS sont tous les deux obsolètes. Votre première condition est l'utilisation de données POST

Questions connexes