Le passage des données à partir de l'affichage de contrôleur dans Laravel

Je comprends que l'adoption d'enregistrer les id dans l'url n'est généralement pas une bonne idée, mais je me demande comment je peux l'éviter dans mon cas:

Mon objectif est de lister les statuts de travail sur un tableau de bord utilisateur et permettre aux utilisateurs de régler la situation.

J'ai créer mon point de vue et de passer des variables à l'aide de la session:

userController.php

public function getdashboard()
    {
       //reading the user information
    $arrPageData['user'] = Sentry::getUser();
       //reading the job interviews
    $arrPageData['jobInterviews'] = JobInterview::readCurrentInterviews($this->userID);

    return View::make('clients.dashboard', $arrPageData);
    }

Cette partie fonctionne très bien et je n'ai pas utiliser l'id de l'enregistrement de l'itinéraire. Je itérer sur les jobInterviews dans la vue tableau de bord. Selon l'état répertorié dans la table DB, je donne à l'utilisateur les options

fichier de vue: dashboard.blade.php (extrait)

@foreach ($jobInterviews as $interviews)
    @if ($interviews->j == $job->id)
        <tbody>
        <tr>
        <td>
        {{$interviews->contact_name}}
        @if ($interviews->status == 'interview request accepted')

    <a href="#"  class="btn btn-danger btn-small" data-toggle="modal" data-target=".mymodal{{ $interviews->interview_id }}">Hire</a>
       @elseif ($interviews->status == 'hired')
        <button id="complete" class="btn btn-info btn-small">Mark Project Complete</button>
        @endif
        </td>
        <td>{{$interviews->status}} </td>
        </tr>
        </tbody>
         ...

Le problème que je rencontre est que pour compléter le travail de changement de statut, je suis l'appel de la méthode et en passant l'id de l'enregistrement:

Encore dans dashboard.blade.php

<form action="../jobs/offer/{{$interviews->interview_id}}" method="post">

C'est ensuite acheminé via:

Route::post('/jobs/offer/{id}','JobController@jobOffer');

Tout fonctionne comme je le veux mais je ne pense pas que je suis en train de faire de la sécurité, point. Est-il un meilleur moyen d'appeler la jobOffer méthode et le changement de statut en plus de l'aide de l'id de l'enregistrement de l'itinéraire lors de l'obtention des données à partir d'un tableau, j'ai itérer?

Merci d'avance pour l'aide.

  • L'ajouter en tant que variable d'un formulaire <form action="../jobs/offer" method="post"><input type="hidden" name="id" value="{$interviews->interview_id}"> pas comme un paramètre de route, puis d'accéder à la manière normale - ce que laravels wrapper autour de $_POST['id'] est
  • ne pouvez pas les utilisateurs de modifier la valeur par défaut d'un champ caché ainsi?
  • Oui, on peut - tu TOUJOURS besoin de valider la saisie de l'utilisateur. Si vous craignez que l'utilisateur peut modifier un autre utilisateurs de détails, alors vous avez besoin de refactoriser d'inclure certains vérification côté serveur que l'utilisateur peut accéder aux détails, sudo code: if(user->canEdit($id){//do edit}
  • ok, merci. Qui efface le problème pour moi. Je l'apprécie.
  • L'envoi de la bu d'action et méthodes route sont sous le contrôle de l'utilisateur tels qu'ils apparaissent dans l'url .
InformationsquelleAutor retrograde | 2014-06-30