IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Symfony PHP Discussion :

Manipuler les données d'un formulaire [1.x]


Sujet :

Symfony PHP

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    82
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 82
    Points : 47
    Points
    47
    Par défaut Manipuler les données d'un formulaire
    Bonjour à tous,

    Je cherche à créer un dossier lors du traitement d'un formulaire de création.
    J'ai donc un formulaire tout simple créer par symfony lors de la création du module client:
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
     
    <form action="/frontend_dev.php/client/create" method="post" >
      <table>
        <tfoot>
          <tr>
            <td colspan="2">
              <input type="hidden" name="client[Client_ID]" id="client_Client_ID" /><input type="hidden" name="client[_csrf_token]" value="5acf47a3b4684014f3422ab182701ae5" id="client__csrf_token" />          &nbsp;<a href="/frontend_dev.php/client">Back to list</a>
                        <input type="submit" value="Save" />
     
            </td>
          </tr>
        </tfoot>
        <tbody>
                <tr>
            <th><label for="client_Client_Nom">Client Nom</label></th>
            <td>
                        <input type="text" name="client[Client_Nom]" id="client_Client_Nom" />        </td>
     
          </tr>
          <tr>
            <th><label for="client_Client_Logo">Client Logo</label></th>
            <td>
                        <input type="text" name="client[Client_Logo]" id="client_Client_Logo" />        </td>
          </tr>
          <tr>
            <th><label for="client_Client_URL">Client URL</label></th>
     
            <td>
                        <input type="text" name="client[Client_URL]" id="client_Client_URL" />        </td>
          </tr>
          <tr>
            <th><label for="client_Client_Description">Client Description</label></th>
            <td>
                        <textarea rows="4" cols="30" name="client[Client_Description]" id="client_Client_Description"></textarea>        </td>
     
          </tr>
        </tbody>
      </table>
    </form>

    J'ai ensuite modifier le fichier actions.class.php pour que la création des dossiers ne se fasse que lors d'un nouvel ajout:
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    public function executeCreate(sfWebRequest $request)
      {
        $this->forward404Unless($request->isMethod(sfRequest::POST));
    
        $this->form = new ClientForm();
    
        $this->processFormCreate($request, $this->form);
    
        $this->setTemplate('new');
      }
    ...
    protected function processFormCreate(sfWebRequest $request, sfForm $form)
      {
        $form->bind($request->getParameter($form->getName()), $request->getFiles($form->getName()));
        if ($form->isValid())
        {
          $Client = $form->save();
    	  $Nom = $request->getParameter('Nom');
    	  
    	  mkdir('uploads/clients/'.$Nom.'');
    	  mkdir('uploads/clients/'.$Nom.'/parc');
    	  mkdir('uploads/clients/'.$Nom.'/fichiers');
    	  mkdir('uploads/clients/'.$Nom.'/documents');
    
          $this->redirect('client/edit?client_id='.$Client->getClientId());
        }
      }

    Mon probleme (en gras) est que je souhaite récupérer le nom du client afin de créer ensuite le dossier à son nom puis les sous dossiers.
    Je débutes en symfony donc je ne connais pas encore toutes les subtilités.
    Pouvez-vous m'aidez svp?

  2. #2
    Expert éminent
    Avatar de Michel Rotta
    Homme Profil pro
    DPO
    Inscrit en
    Septembre 2005
    Messages
    4 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : DPO
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2005
    Messages : 4 954
    Points : 8 486
    Points
    8 486
    Par défaut
    Je ne comprend pas ton formulaire, il n'y a pas d'objet form et cela ne ressemble en rien à un template symfony...


    Pour la question, remplace la ligne en gras par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     $nom = $form->getValue('nom');
    En fait,on récupère la valeur validée dans le formulaire (on a testé par isValid). Il faut savoir que le validator, dans le form, peut, sur certaines données, les mettre en forme, il y a donc intérêt à les prendre dans le form.

    Bonne chance,
    Michel

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    82
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 82
    Points : 47
    Points
    47
    Par défaut
    Pour le formulaire je n'ai mis que le code source de la page, donc la génération html faite lors de l'affichage de la page.

    Merci pour ton aide mimi, je vois que les alsaciens sont toujours aussi serviables!!
    Ca fonctionne nikel

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. enregistrer les données d'un FORMULAIRE sur une TABLE
    Par godzinho dans le forum Access
    Réponses: 15
    Dernier message: 11/03/2006, 18h03
  2. Recuperer les données d'un formulaire en PHP
    Par mekdar dans le forum Langage
    Réponses: 2
    Dernier message: 29/11/2005, 15h41
  3. Réponses: 5
    Dernier message: 06/11/2005, 11h26
  4. [Struts] Interêt de typer les données d'un formulaire ?
    Par Gildas Huart dans le forum Struts 1
    Réponses: 9
    Dernier message: 21/04/2005, 16h39

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo