Partage
  • Partager sur Facebook
  • Partager sur Twitter

Laravel aide, erreur (Routes, Contrôleurs)

Petit problème de débutant

    11 juin 2021 à 12:41:44

    Salutations tout le monde, je débute dans le cour sur Laravel "Découvrez le framework PHP Laravel (ancienne version)" et j'ai un petit problème, je ne m'y connais pas assez sur Laravel pour trouver ou est-ce que j'ai raté, j'en suis au début du cour, au fur et à mesure que j'avance j 'essai de reproduire les codes présentés dans mon propre projet Laravel, je l'es appelé "Laravelt" pour Laravel teste, mon problème actuellement est le suivant, j'ai réussi à refaire une page comme dans le chapitre "la validation", On nous montre comment effectuer la validation d'un formulaire selon ce que le client va envoyer comme information, depuis le chapitre précédent on a un peu entamé le principe des contrôleurs des requêtes et des routes, le contrôleur a l'air de fonctionner, la route par contrôleur implicite ne fonctionne plus sur cette version de Laravel donc j'ai bidouillé ça en route :

    <?php
    
    /*
    |--------------------------------------------------------------------------
    | Web Routes
    |--------------------------------------------------------------------------
    |
    | Here is where you can register web routes for your application. These
    | routes are loaded by the RouteServiceProvider within a group which
    | contains the "web" middleware group. Now create something great!
    |
    */
    /*Première partie du cour la validation*/
    Route::get('/', 'ContactController@getForm');
    Route::post('/', 'ContactController@postForm');
    /*Route::controller('contact', 'ContactController');*/
    /*Les Sessions*/
    /*Route::get('photo', 'PhotoController@getForm');
    Route::post('photo', 'PhotoGestion@postForm');*/

    Voici le controlleur :

    <?php
    
    namespace App\Http\Controllers;
    
    use Mail;
    use App\Http\Requests\ContactRequest;
    
    class ContactController extends Controller {
    
        public function getForm()
        {
            return view('contact');
        }
    
        public function postForm(ContactRequest $request)
        {
            Mail::send('emails.contact', $request->all(), function($message)
            {
                $message->to('Joueurgmw@gmail.com')->subject('Contact');
            });
    
            return view('confirm');
        }
    
    }
    

    Et ça c'est la requête associée :

    <?php
    
    namespace App\Http\Requests;
    
    class ContactRequest extends Request {
    
        /**
         * Determine if the user is authorized to make this request.
         *
         * @return bool
         */
        public function authorize()
        {
            return true;
        }
    
        /**
         * Get the validation rules that apply to the request.
         *
         * @return array
         */
        public function rules()
        {
            return [
                'nom' => 'required|min:5|max:20|alpha',
                'email' => 'required|email',
                'texte' => 'required|max:250'
            ];
        }
    
    }
    

    Pour ce qui est des vues les voici, mais je ne pense pas que mon problème vienne de là, je les mets toutes ensemble ici pour plus de commodité mais elles sont bien toutes dans des fichiers différents :

    /*contact.blade.php*/
    @extends('template')
    
    @section('contenu')
        <br>
      <div class="col-sm-offset-3 col-sm-6">
        <div class="panel panel-info">
          <div class="panel-heading">Contactez-moi</div>
          <div class="panel-body"> 
            {!! Form::open(['url' => 'contact/form']) !!}
              <div class="form-group {!! $errors->has('nom') ? 'has-error' : '' !!}">
                {!! Form::text('nom', null, ['class' => 'form-control', 'placeholder' => 'Votre nom']) !!}
                {!! $errors->first('nom', '<small class="help-block">:message</small>') !!}
              </div>
              <div class="form-group {!! $errors->has('email') ? 'has-error' : '' !!}">
                {!! Form::email('email', null, ['class' => 'form-control', 'placeholder' => 'Votre email']) !!}
                {!! $errors->first('email', '<small class="help-block">:message</small>') !!}
              </div>
              <div class="form-group {!! $errors->has('texte') ? 'has-error' : '' !!}">
                {!! Form::textarea ('texte', null, ['class' => 'form-control', 'placeholder' => 'Votre message']) !!}
                {!! $errors->first('texte', '<small class="help-block">:message</small>') !!}
              </div>
              {!! Form::submit('Envoyer !', ['class' => 'btn btn-info pull-right']) !!}
            {!! Form::close() !!}
          </div>
        </div>
      </div>
    @stop
    /*confirm.blade.php*/
    @extends('template')
    
    @section('contenu')
        <br>
      <div class="col-sm-offset-3 col-sm-6">
        <div class="panel panel-info">
          <div class="panel-heading">Contactez-moi</div>
          <div class="panel-body"> 
            Merci. Votre message a été transmis à l'administrateur du site. Vous recevrez une réponse rapidement.
          </div>
        </div>
      </div>
    @stop
    /*Dans un dossier email dans le dossier des vues, contact.blade.php; pour les emails*/
    <!DOCTYPE html>
    <html lang="fr">
      <head>
        <meta charset="utf-8">
      </head>
      <body>
        <h2>Prise de contact sur mon beau site</h2>
        <p>Réception d'une prise de contact avec les éléments suivants :</p>
        <ul>
          <li><strong>Nom</strong> : {{ $nom }}</li>
          <li><strong>Email</strong> : {{ $email }}</li>
          <li><strong>Message</strong> : {{ $texte }}</li>
        </ul>
      </body>
    </html>

    Normalement cette page d'après le cours est censée envoyer un mail si les infos entrées sont correctes pour me confirmer son fonctionnement, je ne sais pas si a ce niveau-là du cour c'est normal mais de mon côté ça ne marche pas tandis que dans le cour apparemment c'est censé marcher, je me dis que si je n'y arrive pas à ce niveau la suite sera ardu. Donc la page s'affiche sans problème comme dans le cour mais au niveau de l'envoi apparait ce message d'erreur dès que je clique sur envoyer :

    in RouteCollection.php line 179
    at RouteCollection->match(object(Request))
    in Router.php line 546
    at Router->findRoute(object(Request))
    in Router.php line 525
    at Router->dispatchToRoute(object(Request))
    in Router.php line 511
    at Router->dispatch(object(Request))
    in Kernel.php line 176
    at Kernel->Illuminate\Foundation\Http\{closure}(object(Request))
    in Pipeline.php line 30
    at Pipeline->Illuminate\Routing\{closure}(object(Request))
    in TransformsRequest.php line 30
    at TransformsRequest->handle(object(Request), object(Closure))
    in Pipeline.php line 148
    at Pipeline->Illuminate\Pipeline\{closure}(object(Request))
    in Pipeline.php line 53
    at Pipeline->Illuminate\Routing\{closure}(object(Request))
    in TransformsRequest.php line 30
    at TransformsRequest->handle(object(Request), object(Closure))
    in Pipeline.php line 148
    at Pipeline->Illuminate\Pipeline\{closure}(object(Request))
    in Pipeline.php line 53
    at Pipeline->Illuminate\Routing\{closure}(object(Request))
    in ValidatePostSize.php line 27
    at ValidatePostSize->handle(object(Request), object(Closure))
    in Pipeline.php line 148
    at Pipeline->Illuminate\Pipeline\{closure}(object(Request))
    in Pipeline.php line 53
    at Pipeline->Illuminate\Routing\{closure}(object(Request))
    in CheckForMaintenanceMode.php line 46
    at CheckForMaintenanceMode->handle(object(Request), object(Closure))
    in Pipeline.php line 148
    at Pipeline->Illuminate\Pipeline\{closure}(object(Request))
    in Pipeline.php line 53
    at Pipeline->Illuminate\Routing\{closure}(object(Request))
    in Pipeline.php line 102
    at Pipeline->then(object(Closure))
    in Kernel.php line 151
    at Kernel->sendRequestThroughRouter(object(Request))
    in Kernel.php line 116
    at Kernel->handle(object(Request))
    in index.php line 53

    Si quelqu'un peux m'aider à comprendre ça m'aiderait beaucoup sur la suite de ce cour, j'ai bien cherché sur google des sujets similaire mais ils sont trop avancé pour moi, leurs problématiques me dépasse.





    -
    Edité par G-Gamer 11 juin 2021 à 13:39:10

    • Partager sur Facebook
    • Partager sur Twitter
      11 juin 2021 à 13:11:47 - Message modéré pour le motif suivant : La demande de l'équipe de modération a été honorée


      Pas d'aide concernant le code par MP, le forum est là pour ça :)

        11 juin 2021 à 13:41:01

        j'ai mis un titre, que je pense pertinent, vue que je ne connais pas assez Laravel je ne sais pas quel titre serait le plus adéquat.
        • Partager sur Facebook
        • Partager sur Twitter
          11 juin 2021 à 13:58:28

          Je ne connais pas assez Laravel non plus, mais ce titre est déjà plus descriptif, merci :)
          • Partager sur Facebook
          • Partager sur Twitter

          Pas d'aide concernant le code par MP, le forum est là pour ça :)

          Laravel aide, erreur (Routes, Contrôleurs)

          × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
          × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
          • Editeur
          • Markdown