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 :

problème de sauvegarde de formulaire avec utilisation de RenderRow() [1.x]


Sujet :

Symfony PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Mars 2007
    Messages
    334
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 334
    Par défaut problème de sauvegarde de formulaire avec utilisation de RenderRow()
    Bonjour à tous,

    j'ai un souci pour la sauvegarde des données d'un fomulaire, je m'explique, voici le code de mon "_form":

    Code : 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
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
     
    <?php use_stylesheets_for_form($form) ?>
    <?php use_javascripts_for_form($form) ?>
    <?php include_javascripts() ?>
     
    <form action="<?php echo url_for('article/'.($form->getObject()->isNew() ? 'create' : 'update').(!$form->getObject()->isNew() ? '?id='.$form->getObject()->getId() : '')) ?>" method="post" <?php $form->isMultipart() and print 'enctype="multipart/form-data" ' ?>>
     
    <?php if (!$form->getObject()->isNew()): ?>
    <input type="hidden" name="sf_method" value="put" />
    <?php endif; ?>
     
     
      <?php echo $form->renderHiddenFields() ?>
     
    <div class="cl2">
      <fieldset class="description ">
        <legend>Description</legend>
        <table class="fmGd">
          <tbody>
            <tr><?php echo $form['reference']->renderRow() ?></tr>
            <tr><?php echo $form['fournisseur']->renderRow() ?></tr> 
            <tr><?php echo $form['prix']->renderRow() ?></tr>
            <tr><?php echo $form['titre']->renderRow() ?></tr>
    ....       
          </tbody>
        </table>
      </fieldset>    
    </div>
     
     <div class="cl3">  
      <fieldset class="tech">
        <legend>Fiche technique</legend>
        <table class="fmGd">
          <tbody>
            <tr><?php echo $form['composant']->renderRow() ?></tr>
          </tbody>
        </table>
      </fieldset>    
    </div>  
     
     
     
     <div>
      <a href="<?php echo url_for('article/index') ?>">Back to list</a>
      <?php if (!$form->getObject()->isNew()): ?>
        &nbsp;<?php echo link_to('Delete', 'article/delete?id='.$form->getObject()->getId(), array('method' => 'delete', 'confirm' => 'Are you sure?')) ?>
      <?php endif; ?>
     
      <input type="submit" value="Save" />
     
    </div>
     
     
    </form>
    alors avec ce code, les données envoyées par le formulaire ne sont pas sauvegardées dans la base de données.
    sinon, lrosque je mets à la place des div et des renderRow() un simple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <?php echo $form ?>
    la sauvegarde marche bien alors que je voudrais quand même personnaliser l'affichage de mon formulaire

    Merci pour votre aide!!

  2. #2
    Membre émérite Avatar de kenny.kev
    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    646
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2007
    Messages : 646
    Par défaut
    Des champs que tu ne veux pas afficher qui sont obligatoire ?

    Dans ton objet NomTableFrom.class.php c'est la que tu active les champs et les rends obligatoire

  3. #3
    Membre éclairé
    Inscrit en
    Mars 2007
    Messages
    334
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 334
    Par défaut
    Non, en fait quand je dis personnaliser mon formulaire, ce n'est pas par rapport aux champs obligatoires ou pas, c'est juste une question d'affichage et de feuille de style et avec un simple "echo $form", je ne peux rien faire.

    mais je comprends toujours pas pourquoi la sauvegarde ne marche pas

  4. #4
    Membre émérite Avatar de kenny.kev
    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    646
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2007
    Messages : 646
    Par défaut
    J'ai tout a fait compris ça.

    si le echo $form; fonctionne et pas quand tu le personnalise c'est que tu as un obligatoire oublié.
    Par exemple la clé csrf_secret si tu ne l'as pas désactivé.

  5. #5
    Membre éclairé
    Inscrit en
    Mars 2007
    Messages
    334
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 334
    Par défaut
    Mais comment je pourrais désactiver ce qui est obligatoire et la csrf_secret?
    juste pour info dans mon ArticleForm.class.php j'ai juste fait un:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    unset($this['created_at'], $this['updated_at']);

    Merci Kenny

  6. #6
    Membre émérite Avatar de kenny.kev
    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    646
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2007
    Messages : 646
    Par défaut
    En modifiant les validator's de tes champs je te renvoie au cours sur les formulaires http://www.symfony-project.org/jobee...Doctrine/en/10

    Pour le csrf_secret tu as, dans le form :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $this->disableCSRFProtection();
    Mais tu devrais avoir une erreur ? tu es sur d'être en mode dev ?

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

Discussions similaires

  1. [AC-2003] Problème de lag sur formulaire avec table liée
    Par benjamin002 dans le forum IHM
    Réponses: 0
    Dernier message: 04/02/2010, 09h42
  2. Sauvegarde données formulaire avec Session ?
    Par jordan49 dans le forum Langage
    Réponses: 5
    Dernier message: 01/10/2009, 11h54
  3. Réponses: 1
    Dernier message: 08/05/2008, 23h00
  4. Réponses: 1
    Dernier message: 04/12/2007, 14h21
  5. [RegEx] [Formulaire]= problème d'envoi de formulaire avec pièces jointes
    Par lyamarin dans le forum Langage
    Réponses: 22
    Dernier message: 03/04/2007, 13h29

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