Je suis nouveau en programmation. J'ai créé un formulaire de base dans views/register.blade.php comme ceci
@section('content')
<h1>Registration Form</h1><hr>
<h3>Please insert the informations bellow:</h3>
{{Form::open(array('url'=>'test/register','method'=>'post'))}}
<input type="text" name="username" placeholder="username"><br><br>
<input type="text" name="email" placeholder="email"><br><br>
<input type="password" placeholder="password"><br><br>
<input type="submit" value="REGISTER NOW!">
{{Form::close()}}@stop
J'ai un contrôleur. comme ça
public function create()
{
$user= Input::all();
$user = new User;
$user->username = Input::get('username');
$user->email = Input::get('email');
$user->password = Input::get('password');
$user->save();
return Redirect::back();
}
Voici mon itinéraire:
Route::get('test/register', array('uses'=>'TestController@create'))
Je ne peux pas enregistrer les utilisateurs via le formulaire. Voulez-vous s'il vous plaît me suggérer comment faire cela?
L'erreur MethodNotAllowedHttpException signifie que la route existe, mais que la méthode HTTP (GET) est incorrecte. Vous devez le changer en POST:
Route::post('test/register', array('uses'=>'TestController@create'));
En outre, vous devez hacher vos mots de passe:
public function create()
{
$user = new User;
$user->username = Input::get('username');
$user->email = Input::get('email');
$user->password = Hash::make(Input::get('password'));
$user->save();
return Redirect::back();
}
Et j'ai enlevé la ligne:
$user= Input::all();
Parce que dans la commande suivante, vous remplacez son contenu par
$user = new User;
Pour déboguer votre entrée, vous pouvez, dans la première ligne de votre contrôleur:
dd( Input::all() );
Il affichera tous les champs de l'entrée.
assurez-vous d’utiliser lePOSTpour insérer les données. En fait, vous utilisiezGET.
Première méthode que vous pouvez essayer
$department->department_name = $request->department_name;
$department->status = $request->status;
$department->save();
Un autre moyen d'insérer des enregistrements dans la base de données avec la fonction create
$department = new Department;
// Another Way to insert records
$department->create($request->all());
return redirect('admin/departments');
Vous devez définir le modèle rempli dans le département
namespace App;
use Illuminate\Database\Eloquent\Model;
class Department extends Model
{
protected $fillable = ['department_name','status'];
}