Probleme de Store() du modèle et des données d'un POST

Réduire
X
 
  • Filtrer
  • Heure
  • Afficher
Tout effacer
nouveaux messages

  • [RÉGLÉ] Probleme de Store() du modèle et des données d'un POST

    Bonjour,
    Je viens présenter mon soucis, c'est que j'ai une méthode store() dans mon modèle qui reçoit des données d'un POST et qui ne veut pas enregistrer ces données dans la base de données ...
    Je suis en train de créer un composant, c'est le début et ce petit soucis me prend du temps sans trouver la solution

    fonction store de mon modèle :
    function store(){
    // La fonction store est appelé par le controller, pour
    // sauver une nouvelle vignette
    $post = JRequest::get( 'post' );

    $row =& $this->getTable("competences_process");

    if (!$row->bind($post)) {
    $this->setError($this->_db->getErrorMsg());
    return false;
    }
    if (!$row->check()) {
    $this->setError($this->_db->getErrorMsg());
    return false;
    }
    if (!$row->store()) {
    $this->setError($this->_db->getErrorMsg());
    return false;
    }

    return true;
    }
    fonction save() de mon controleur :
    function save(){
    $model = $this->getModel('ProcessusAjout');

    // Utilisation de la méthode "store", implémentée dans
    // le model models/ProcessusAjout.php
    if ($model->store()) {
    $msg = JText::_( 'Processus sauvee !' );
    } else {
    $msg = JText::_( 'Erreur pendant l\'enregistrement du Processus' );
    };

    $link = 'index.php?option=com_eval&controller=Processus';
    $this->setRedirect($link, $msg);
    $this->redirect();
    }
    Formulaire de ma view :
    <form action="index.php" method="post" name="adminForm">

    <div>
    <fieldset class="adminform">
    <legend><?php echo JText::_( 'Details' ); ?></legend>

    <label for="code">
    <?php echo JText::_( 'Code ' ); ?>:
    </label>
    <input class="inputbox" type="text" name="code" id="code" size="60" value="<?php echo $this->datamodel->code; ?>" />
    <label for="libelle">
    <?php echo JText::_( 'Libelle ' ); ?>:
    </label>
    <input class="inputbox" type="text" name="libelle" id="libelle" size="60" value="<?php echo $this->datamodel->libelle; ?>" />
    </fieldset>
    </div>

    <!-- les champs hidden obligatoire du formulaire adminForm -->
    <input type="hidden" name="option" value="com_eval" />
    <input type="hidden" name="task" value="" />
    <input type="hidden" name="boxchecked" value="0" />
    <input type="hidden" name="controller" value="Processus" />
    <input type="hidden" name="id" value="<?php echo $this->datamodel->id; ?>" />
    </form>

  • #2
    Re : Probleme de Store() du modèle et des données d'un POST

    Bonjour,
    et il se passe quoi quand tu valides ton formulaire ? Tu as un message ?
    Tu as essayé de mettre des traces dans tes scripts pour voir où tu passes ?
    Schtroumpfe toi le Schtroumpf t'aidera.
    Je ne schtroumpfe pas aux demandes de schtroumpf par MP.

    Commentaire


    • #3
      Re : Probleme de Store() du modèle et des données d'un POST

      Salut pierrelesek.

      Une première étape serait de vérifier que tes variables $_POST correspondent à ce que tu veux. Firebug et son onglet réseau te les affichent ou ajoute une boucle pour les afficher dans ta view ...

      Ensuite, si tes données $_POST sont correctes, vérifies ta description de table pour être sur que les champs annoncés dans ton fichier table correspondent bien aux names des tes données $_POST.

      Enfin, met des flags dans tes fonctions check, bind et store du modèle pour déterminer lequel des 3 renvoie une erreurs.

      Commentaire


      • #4
        Re : Probleme de Store() du modèle et des données d'un POST

        Déjà merci pour ces réponses rapides
        @Grand Schtroumf :
        En testant par suppréssion de fonctions bind check ... j'ai trouvé que c'était la fonctions store() qui me retourne dans la variable row donc la fonction store de JTable.

        @benzouye :
        Je vais tester ce que tu m'as dit, vais démarrer mon firebug je savais pas qu'on pouvais inspecter le contenu des POST c'est super cool tout sa, je fait des test tout de suite et je vous dit ce qu'il en est

        Merci

        Commentaire


        • #5
          Re : Probleme de Store() du modèle et des données d'un POST

          Il y a bien le contenu des champs de saisi dans le POST

          Commentaire


          • #6
            Re : Probleme de Store() du modèle et des données d'un POST

            Probleme résolu, c'etait bien dans la définition de la table, dans son constructeur :
            function __construct( &$db ) {
            parent::__construct('#__competences_process', 'id', $db);
            }
            Le nom de la table etait pas le bon dans le 1er parametre de la fonction construct() .
            Merci beaucoup

            Commentaire

            Annonce

            Réduire
            Aucune annonce pour le moment.

            Partenaire de l'association

            Réduire

            Hébergeur Web PlanetHoster
            Travaille ...
            X