You forgot to include the most important part, what is the posted data and what is the validation error?
Feb 9, 2016
19
Level 2
two form on one page both submit.
Hello.
I have a login and register for on the same page but if i click signup or signin the the valadation fails because it seems to be looking at both forms ???
Please help. Thanks
this is my form:
@extends('layouts.app')
<!-- meta title -->
@section('title')
home page
@endsection
@section('content')
@if(count($errors) > 0 )
<div class="row">
<div class="col-md-4 col-md-offset-4">
<ul>
@foreach($errors->all() as $error)
<li>{{ $error }}</li>
@endforeach
</ul>
</div>
</div>
@endif
<div class="row">
<div class="col-md-6">
<h3>Sign up</h3>
<form action="{{ url('/user_signup') }}" method="post"> <!-- conent to the signup route -->
{!! csrf_field() !!}
<div class="form-group {{ $errors->has('email') ? 'has-error' : ''}}">
<label for="email">Your E-mail</label>
<input class="form-control" type="text" name="email" id="email" value="hello1{{ Request::old('email')}}">
</div>
<div class="form-group {{ $errors->has('name') ? 'has-error' : ''}}">
<label for="name">Your Name</label>
<input class="form-control" type="text" name="name" id="name" value="hello2{{ Request::old('name')}}">
</div>
<div class="form-group {{ $errors->has('password') ? 'has-error' : ''}}" >
<label for="password">Your Password</label>
<input class="form-control" type="password" name="password" id="password" value="hello3{{ Request::old('password')}}">
</div>
<button type="submit" name="signup" class="btn btn-primary">Signup</button>
</form>
</div>
<div class="col-md-6">
<h3>Login</h3>
<form action="{{ url('/user_signin') }}" method="post">
{!! csrf_field() !!}
<div class="form-group {{ $errors->has('email') ? 'has-error' : ''}}">
<label for="email">Your E-mail</label>
<input class="form-control" type="email" name="email" id="email" value="{{ Request::old('email')}}">
</div>
<div class="form-group {{ $errors->has('password') ? 'has-error' : ''}}">
<label for="password">Your Password</label>
<input class="form-control" type="password" name="password" id="password" value="{{ Request::old('password')}}">
</div>
<div class="form-group">
<div class="checkbox">
<label>
<input type="checkbox" name="remember"> Remember Me
</label>
</div>
</div>
<button type="submit" name="signin" class="btn btn-primary">Login</button>
<a class="btn btn-link" href="{{ url('/password/reset') }}">Forgot Your Password?</a>
</form>
</div>
</div>
@endsection
this is my usercontroller:
<?php
namespace App\Http\Controllers;
use App\Http\Requests;
use App\User;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
class UserController extends Controller
{
//Register
public function postUserSignUp(Request $request){
//validate
$this->validate($request, [
'email' => 'email|unique:users|required',
'name' => 'max:120|required',
'password' => 'min:4|required'
]);
//get fields from signup form using $request
$email = $request['email'];
$name = $request['name'];
$password = bcrypt($request['password']);
//create new user - use App\User;
$user = new User();
$user->email = $email;
$user->name = $name;
$user->password = $password;
$user->save(); //save to the db.
Auth::login($user);//login after register
return redirect()->route('user_dashboard');
}
//Sing in
public function postUserSignIn(Request $request){
$this->validate($request, [
'email' => 'email|unique:users|required',
'password' => 'min:4|required'
]);
if (Auth::attempt([ 'email' => $request['email'], 'password' => $request['password'] ])){
return redirect()->route('user_dashboard');
}
return redirect()->back();
}
//After signup or signin redirect to the dashboard
public function getUserDashboard(){
return view('user_dashboard');
}
}
these are my routes:
Route::group(['middleware' => 'web'], function () {
//Index page
Route::get('/', 'HomeController@index');
//User sign up
Route::post('/user_signup', [
'uses'=>'UserController@postUserSignUp',
'as'=>'user_signup'
]);
//User sign up
Route::post('/user_signin', [
'uses'=>'UserController@postUserSignIn',
'as'=>'user_signin'
]);
//After signup or signin redirect to the dashboard
Route::get('/user_dashboard', [
'uses'=>'UserController@getUserDashboard',
'as'=>'user_dashboard'
]);
});
Please or to participate in this conversation.