2016-08-06 19 views
1

Ich arbeite an einem Formular (ohne MySQL im Moment), um Daten von einer Eingabe mit einer Bestätigungsnachricht Seite wie "Congratulations $ pseudo, Ihr Abonnement ist erfolgreich" .Laravel - Holen Sie sich Daten aus einem Formular

Problem: Ich kann die Daten nicht anzeigen, was ich in mein Formular eingefügt habe.

Richtlinie: Ich denke, das Problem ist auf meinem Controller in der postUsers-Methode, aber ich weiß nicht, wie es gelöst wird.

Hier ist meine Form (subscribe.blade.php)

@extends('template') 

@section('contenu') 
<div class="container"> 
<h1>Inscription</h1> 
{!! Form::open(['url' => 'users/confirm']) !!} 
    <div class="form-group has-feedback {!! $errors->has('pseudo') ? 'has-error' : '' !!}"> 
     <label for="pseudo">Pseudonyme</label> 
     {!! Form::text('pseudo', null, ['class' => 'form-control', 'id' => 'id_pseudo', 'placeholder' => 'Votre pseudonyme']) !!} 
     {!! $errors->first('pseudo', '<small class="help-block">:message</small>') !!} 
    </div> 
{!! Form::submit('Inscription', ['class' => 'btn btn-default']) !!} 
{!! Form::close() !!} 
</div> 
@endsection 

Hier ist die Bestätigungsseite (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">Validation</div> 
     <div class="panel-body"> 
      Féicitations<?php Request::input('pseudo')?>, vous êtes inscrit sur le site ! Vous pouvez dès à présent vous connecter. 
     </div> 
    </div> 
</div> 
@endsection 

Hier meine Routen ist (routes.php)

Route::get('users', '[email protected]'); 
Route::get('users', '[email protected]'); 

Und die Steuerung (UsersController.php)

class UsersController extends Controller 
{ 
public function getUsers(){ 
    return view('confirm'); 
} 

public function postUsers(Request $request){ 
    return 'Le nom est ' . $request->input('pseudo'); 
} 
} 

Ich hoffe, kann es helfen Ihnen, dieses kleine Problem zu lösen, ich bin nach einem Kurs über Laravel und dieser Rahmen ist faszinierend für mich ^^

Vielen Dank, dass Sie sich Zeit für mein Problem genommen haben. Einen schönen Tag :)

Antwort

1

Sie sollten POST anstelle von GET verwenden, wenn Sie Formular einreichen. Auch Sie verwenden falsche URL, so versuchen, diese zu ändern:

Route::get('users', '[email protected]'); 

dazu:

Route::post('users/confirm', '[email protected]'); 

Wenn Sie Daten anzeigen in confirm Ansicht möchten, tun Sie etwas wie folgt aus:

und Aussicht:

.... 
<div class="panel-body"> 
    Féicitations {{ $pseudo }}, vous êtes inscrit sur le site ! Vous pouvez dès à présent vous connecter. 
</div> 
.... 
+0

Danke, es wird mir für andere Formen helfen. Ich muss nur meine Eingabe mit der confirm.blade.php anzeigen –

+0

Es funktioniert, aber ich muss es verstehen. Warum sollte ein Array als zweiter Parameter für die postUsers-Methode verwendet werden? –

+1

Zweiter Parameter sind Daten, die Sie an eine Ansicht von einem Controller übergeben. https://laravel.com/docs/5.2/views#passing-data-to-views –

Verwandte Themen