Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2749 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  [Symfony 1.4] SFroute et $_POST

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Symfony 1.4] SFroute et $_POST

n°2120053
scull
MySCULL cay bon mangez en!
Posté le 07-01-2012 à 13:10:49  profilanswer
 

Salut à tous,
 
Voici un problème que je rencontre dans le dev d'une petite appli symfony 1.4.
 
J'ai créer une route qui fonctionne trés bien :  

Code :
  1. sujet:
  2.   url: /sujet/:slug
  3.   class: sfDoctrineRoute
  4.   options: { model: f_sujet, type: object }
  5.   param: { module: main, action: sujet }


 
Dans laquelle je créer un form :  
CF mon action  

Code :
  1. public function executeSujet(sfWebRequest $request)
  2.   {
  3.      
  4.       $this->f_sujet = $this -> getRoute() -> getObject(); 
  5.       $this->f_sujetdb = Doctrine::getTable('f_sujet')->createQuery('s')->where('s.id = ?', $this->f_sujet->getId())->execute();
  6.       $this->f_reponse = Doctrine::getTable('f_message')->createQuery('m')->where('m.sujet_id = ?', $this->f_sujet->getId())->execute();
  7.      
  8.       $this->messageForm = new f_messageForm();
  9. }


Mon f_messageForm est bien configuré comme je le souhaite dans /lib/form/doctrine/f_messageForm.class.php
 
Du coup dans ma vue, mon formulaire s'affiche exactement comme je le souhaite. Et j'en profite pour afficher mon "post" :

Code :
  1. <form action="<?php echo url_for('sujet', array ( 'slug' => $s->slug)) ?>" method="post">
  2. <ul id="rep_rapide">
  3.     <?php echo $messageForm; ?>
  4.     <li><input type="submit" value="Répondre"></li>
  5. </ul>
  6. </form>


 
Mon code html généré est bon, la valeur action de mon post est du coup IDENTIQUE à la page courante:
<form action="/forum/web/frontend_dev.php/sujet/exemple-de-sujet278-1" method="post">
 
Le hic, c'est que lorsque j'envoie les données du formulaire, j'obtient l'erreur suivante :
 

Citation :

1 Info sfPatternRouting Match route "default" (/:module/:action/*) for /sujet/exemple-de-sujet278-1 with parameters array ( 'module' => 'sujet', 'action' => 'exemple-de-sujet278-1',)
2 Info sfFrontWebController Action "sujet/exempledesujet2781" does not exist

3 Error sfError404Exception Action "sujet/exempledesujet2781" does not exist.


 
Si vous avez une idée, n'hésitez pas, parceque là je sèche complet!


---------------
Créer son forum gratuit |  Mon beau blog phpBB caÿ le mal :o
mood
Publicité
Posté le 07-01-2012 à 13:10:49  profilanswer
 

n°2120055
Ph3nol
Posté le 07-01-2012 à 13:41:06  profilanswer
 

Le problème est que sfDoctrineRoute n'accepte à la base que le GET.
 
Ta route doit permettre le POST en plus du GET en ajoutant un requirement :
 

Code :
  1. sujet:
  2.   url: /sujet/:slug
  3.   class: sfDoctrineRoute
  4.   options: { model: f_sujet, type: object }
  5.   param: { module: main, action: sujet }
  6.   requirements:
  7.     sf_method: [get, post]


 
Ca devrait répondre à ton problème.
 
Bon courage !


Message édité par Ph3nol le 07-01-2012 à 13:43:06
n°2120056
scull
MySCULL cay bon mangez en!
Posté le 07-01-2012 à 13:44:22  profilanswer
 

Rha merci!  
Cela fonctionne!


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  [Symfony 1.4] SFroute et $_POST

 

Sujets relatifs
Débutant - Récupérer les données d'un post[RESOLU] En bash, curl avec du POST et plusieurs variable GET
$_SESSION=$_POST;Symfony 1.4 : inclure un module dans un autre
Symfony : Créer des formulaires en fonction des résultats d'une requet[paumé] besoin d'un petit coup de pouce sur symfony
Help ! AJAX - POST et PHP pour fichier CSVProblème bizarre de formulaire POST
Jquery - Post - Iframe (shadowbox)virual host + symfony
Plus de sujets relatifs à : [Symfony 1.4] SFroute et $_POST


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR