it-swarm.com.de

Laravel : Wie verstecke ich den URL-Parameter?

In diesem Szenario möchte ich eine Variable übergeben, die von einer Seite zur nächsten gesendet wird. Auf der nächsten Seite wird sie über ein Formular gespeichert. Also habe ich die Variable von der ersten Seite zur zweiten Seite über die URL übergeben. Aber ich möchte den Parameter in der URL verstecken. Wie mache ich es?

Hier ist meine Route:

Route::get('/registration/{course_id}',[
   'uses'=>'[email protected]',
    'as'=>'registration'
]);

Und Controller:

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

Und die erste Seite so sende ich den Wert an die erste Seite:

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

Post-Methode

Route

Route::post('/registration',['uses'=>'[email protected]','as'=>'registration']);

Aussicht

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

Regler

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

Methode abrufen

verschlüsselung verwenden, wird die verschlüsselte ID in der URL angezeigt

Aussicht

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

Regler

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

Sie können einen Parameter in URL nicht ausblenden. Wenn Sie ID nicht anzeigen möchten, versuchen Sie, SLUG zu verwenden. Ich hoffe, Sie verstehen, was ein SLUG ist. Wenn nicht, dann ist es hier. Wenn Sie einen Kurstitel haben, ist mein neuer Kurstitel dann der Slug mein-neuer-Kurs-Titel . Und stellen Sie sicher, dass es unique wie ein ID in der Tabelle ist. Es ist auch gut für SEO, lesbar und sieht gut aus.

1

es gibt keine Möglichkeit, Parameter in der URL zu verbergen, stattdessen konvertieren Sie den Parameterwert verschlüsselt oder der Hashwert liegt bei Ihnen.

ein anderer Weg ist, den Wert zuerst in der Sitzung zu speichern und dann den Wert aus der Sitzung ohne Definitionsparameter in der URL aufzurufen.

da die laravel route nur nach muster von url/string/id arbeitet, post abrufen. dynamischer Wert, den Sie schreiben müssen/verwenden und die Mustermethode verwenden.

Vielen Dank.

0
Xain Bin Kafeel