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 :

Symfony 3 - Problème formulaire


Sujet :

Symfony PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Homme Profil pro
    Debutant
    Inscrit en
    Novembre 2017
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Debutant

    Informations forums :
    Inscription : Novembre 2017
    Messages : 7
    Par défaut Symfony 3 - Problème formulaire
    Salut,

    Mon problème est que mon contenu ne s'affiche pas sur la page d'accueil, je vous met tout mes controllers/views correspondant à mon problème :

    Quand je valide mon formulaire, les données ne vont pas en BDD..

    admin Controller :

    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
    <?php
     
    namespace SiteBundle\Controller;
     
    use Symfony\Bundle\FrameworkBundle\Controller\Controller;
     
    class AdminController extends Controller
    {
        public function homePageAdministrationAction(){
     
            return $this->render('@Site/admin/default/administration.html.twig');
        }
     
        public function articleAction()
        {
     
            //récupere l'enitty manager ( stockée dans la variable $em )
            $em = $this->getDoctrine()->getManager();
     
            //récupère le repository lié à l'entité auteur ( stockée dans $rep )
            $repArticle = $em->getRepository('SiteBundle:Article');
     
            // findAll() = Récupère toutes les données en tableau de la BDD de la table auteur du Repository
            $articles = $repArticle->findAll();
     
            //var_dump($autheur); die();
     
            return $this->render('@Site/admin/default/addArticlehome.html.twig', ['value' => $articles]);
        }
    }
    addArticleHome :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    % for value in article %}
        {{ value.artTitle }}
        {{ value.artContent }}
        {{ value.artImg }}
    {% endfor %}
    FormController :
    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
     
    <?php
     
    namespace SiteBundle\Controller;
     
    use SiteBundle\Entity\Article;
    use SiteBundle\Form\ArticleType;
    use Symfony\Bundle\FrameworkBundle\Controller\Controller;
    use Symfony\Component\HttpFoundation\Request;
     
    class FormController extends Controller
    {
        public function addArticleAction(Request $request)
     
        {
            $em = $this->getDoctrine()->getManager();
     
            $article = new Article();
     
            $form = $this->createForm(ArticleType::class,$article);
     
     
            if ($request->isMethod('post')){
     
                $form->handleRequest($request);
     
                if ($form->isValid()){
                    $em->persist($article);
                    $em->flush();
                }
                return $this->render($this->redirectToRoute('site_homepage'));
     
            }
            $vars ['form'] = $form->createView();
            return $this->render('@Site/admin/form/formArticle.html.twig', $vars);
        }
    }
    FormArticle :
    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
     
    {{ form_start(form) }}
     
            {{ form_label(form.artTitle, 'Title :' )}}
            {{ form_errors(form.artTitle) }}
            {{ form_widget(form.artTitle) }}
     
            {{ form_label(form.artContent, 'Contenu :' )}}
            {{ form_errors(form.artContent) }}
            {{ form_widget(form.artContent) }}
     
            {{ form_label(form.artImg, "Lien de l'image :" )}}
            {{ form_errors(form.artImg) }}
            {{ form_widget(form.artImg)}}
     
    <button type="submit">Ajouter</button>
     
    {{ form_end(form) }}
    base :

    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
    <!DOCTYPE html>
    <html xmlns="http://www.w3.org/1999/html">
    <head>
        <meta charset="UTF-8" />
        <title>{% block title %}Welcome!{% endblock %}</title>
        {% block stylesheets %}
            <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.0/css/bootstrap.min.css" integrity="sha384-9gVQ4dYFwwWSjIDZnLEWnxCjeSWFphJiwGPXr1jddIhOegiu1FwO5qRGvFXOdJZ4" crossorigin="anonymous">
            <link href="https://fonts.googleapis.com/css?family=Roboto" rel="stylesheet">
            <link rel="stylesheet" href="">
            <link rel="stylesheet" href="{{ asset('assets/css/reset.css') }}">
     
            <link rel="stylesheet" href="{{ asset('assets/css/global.css') }}">
     
        {% endblock %}
     
        <link rel="icon" type="image/x-icon" href="{{ asset('favicon.ico') }}" />
    </head>
    <body>
     
    {{ include('@Site/components/header.html.twig') }}
     
     
    {% block body %}{% endblock %}
     
     
     
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
    <script src="{{ asset('assets/js/main.js') }}"></script>
     
    </body>
    </html>
    administration :

    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
    {% extends '@Site/base.html.twig' %}
     
    {% block body %}
    <section>
     
        <div class="optionsAdministration">
     
            <h3 class="titleOptionAdministration">Les options :</h3>
     
            <div class="separation-admin"></div>
     
            <div id="flip"><p class="adminAddArticle">Ajouter un article sur l'accueil</p></div>
                <div id="panel">{{ render(controller('SiteBundle:Form:addArticle')) }}</div>
     
            <div id="flip1"><p class="adminAddCategory">Ajouter une catégorie forum</p></div>
                <div id="panel1">morning</div>
     
            <div id="flip2"><p class="adminEditGradeMembers">Modifier les grades des members</p></div>
                <div id="panel2">good night</div>
     
        </div>
     
    </section>
    {% endblock %}

    Merci,
    Bonne journée,

  2. #2
    Membre éclairé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2003
    Messages
    307
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Février 2003
    Messages : 307
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
            return $this->render('@Site/admin/default/addArticlehome.html.twig', ['value' => $articles]);
    Ce n'est pas juste ici

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    % for value in article %}
        {{ value.artTitle }}
        {{ value.artContent }}
        {{ value.artImg }}
    {% endfor %}
    Correction :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    {% for article in value %}
        {{ article.artTitle }}
        {{ article.artContent }}
        {{ article.artImg }}
    {% endfor %}
    Tu devrais avoir eu un message d'erreur

    Sinon pour voir si c'est bien en db, va voir directement dedans avec un phpmyadmin

Discussions similaires

  1. [2.x] [Symfony] Probléme Formulaire
    Par ali douiri dans le forum Symfony
    Réponses: 1
    Dernier message: 15/09/2015, 11h54
  2. [2.x] Problème formulaire avec symfony
    Par ahmedpa dans le forum Symfony
    Réponses: 2
    Dernier message: 16/07/2015, 08h55
  3. [2.x] [Symfony 2]Problème Vaidation Formulaire
    Par graditz dans le forum Symfony
    Réponses: 1
    Dernier message: 29/10/2014, 16h49
  4. [2.x] Problème formulaire Symfony 2
    Par shadeNbc dans le forum Symfony
    Réponses: 6
    Dernier message: 07/07/2014, 14h31
  5. [2.x] Symfony 2.3 - Formulaire - Problème avec form_widget
    Par legovitin dans le forum Symfony
    Réponses: 4
    Dernier message: 16/12/2013, 16h12

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