web-dev-qa-db-fra.com

Laravel : Comment cacher le paramètre url?

Ici, le scénario est que je veux passer une variable qui sera envoyée d'une page à une autre et dans la page suivante, elle sera stockée via un formulaire. J'ai donc passé la variable de la première page à la deuxième page via l'URL. Mais je veux cacher le paramètre dans l'URL. Comment fait-on ça?

Voici mon itinéraire:

Route::get('/registration/{course_id}',[
   'uses'=>'AppController@getregistration',
    'as'=>'registration'
]);

Et contrôleur:

public function getregistration($course_id)
{        
    return view('index')->with('course_id',$course_id);      
}

Et première page, voici comment envoyer la valeur à la première page:

<li> <a  href="{{route('registration',['course_id' => '1'])}}">A</a> </li>
6
Hola

Méthode post

Route

Route::post('/registration',['uses'=>'AppController@getregistration','as'=>'registration']);

Vue

{!!Form::open(array('url' => '/registration')) !!}
  {!! Form::hidden('course_id', '1') !!}
  {!! Form::submit('registration') !!}
{!! Form::close() !!}

Manette

public function getregistration(Request $request)
{   
    $course_id = $request->input('course_id');
    return view('index')->with('course_id',$course_id);      
}

Obtenir la méthode

utiliser la méthode de cryptage, il montrera l'identifiant crypté dans l'URL

Vue

<li> <a  href="{{route('registration',['course_id' => Crypt::encrypt('1') ])}}">A</a> </li>

Manette

public function getregistration($course_id)
{    
  $course_id = Crypt::decrypt($course_id);    
  return view('index')->with('course_id',$course_id);      
}
10
Imran Hossain

Vous ne pouvez pas masquer un paramètre dans URL. Si vous ne souhaitez pas afficher ID, essayez alors d'utiliser SLUG. J'espère que vous comprenez ce qu'est une SLUG. Si vous ne le faites pas, le voici. Si le titre de votre cours est Mon nouveau titre de cours alors son slug sera mon-nouveau-cours-titre . Et assurez-vous que c'est unique semblable à ID dans la table. C'est aussi bon pour le référencement, lisible et beau.

1
Jamal Abdul Nasir

il n’ya aucun moyen de cacher le paramètre dans l’URL, mais plutôt de convertir la valeur du paramètre chiffrer ou le hachage dépend de vous,

autrement, c'est enregistrer la valeur dans la session en premier, puis appeler la valeur de session sans définir le paramètre dans l'URL.

car la route laravel ne fonctionne que sur le modèle url/string/id, post get. valeur dynamique que vous devez écrire/obtenir en utilisant la méthode du motif.

Merci.

0
Xain Bin Kafeel