Php 在laravel中,尝试注册一家公司,但当单击“提交”按钮时,它会再次将我重定向回表单,并且在DB中不创建任何条目
这是我的报名表Php 在laravel中,尝试注册一家公司,但当单击“提交”按钮时,它会再次将我重定向回表单,并且在DB中不创建任何条目,php,laravel,Php,Laravel,这是我的报名表 @extends('Layouts.master') @section('title') welcome @endsection @section('content') @if(count($errors)>1) <div class="row"> <div class="col-md-4"> <ul> @foreach($errors->all(
@extends('Layouts.master')
@section('title')
welcome
@endsection
@section('content')
@if(count($errors)>1)
<div class="row">
<div class="col-md-4">
<ul>
@foreach($errors->all() as $errors)
<li>{{$errors}}</li>
@endforeach
</ul>
</div>
</div>
@endif
<div class="row" style="background-color:#FFF8F2;">
<div class="col-lg-2">
</div>
<div class="col-lg-8">
<div class="panel panel-danger">
<div class="panel-heading">
<h3>Sign Up As A Company</h3>
</div>
<div class="panel-body">
<form action="{{route('companysignup')}}" method="post" role="form">
<div class="form-group">
<label>Enter Company Name</label>
<input placeholder="Enter Name" name="company_name" class="form-control">
</div>
<div class="form-group">
<label>Enter Owner Name</label>
<input placeholder="Enter Owner Name" name="owner_name" class="form-control">
</div>
<div class="form-group">
<label>Enter Owner Email</label>
<input placeholder="Enter Owner Email" name="email" class="form-control">
</div>
<div class="form-group">
<label>Enter Phone Number</label>
<input placeholder="Enter Phone Number" name="phone_number" class="form-control">
</div>
<div class="form-group">
<label>Company Type</label>
<select name="company_type" class="form-control">
<option>Combined</option>
<option>Individual</option>
<option>None</option>
</select>
</div>
<div class="form-group">
<label>Country</label>
<select name="country" class="form-control">
<option>Pakistan</option>
<option>Sudia Arabia</option>
<option>America</option>
<option>India</option>
</select>
</div>
{{--<div class="form-group">--}}
{{--<label>Attach Registration Extract</label>--}}
{{--<input type="file" name="file">--}}
{{--</div>--}}
<div class="form-group">
<label>Enter short description about your company</label>
<textarea name="description" rows="3" class="form-control"></textarea>
</div>
<div class="form-group">
<label>Enter Password</label>
<input name="password " type="password" placeholder="Enter Password" class="form-control">
</div>
{{csrf_field()}}
<input class="btn btn-outline btn-danger" type="submit" value="Submit">
</form>
</div>
<div class="panel-footer">
</div>
</div>
</div>
<div class="col-lg-2">
</div>
</div>
@endsection
增加了公司注册功能
public function companySignUp(Request $request)
{
$this->validate($request,[
'email' => 'required|email|unique:users',
'password' => 'required|min:6',
'company_name' => 'required|max:120',
'owner_name' => 'required|max:120',
'phone_number' => 'required|min:12|max:14',
'company_type' => 'required',
'country' => 'required',
'description' => 'required'
]);
$email = $request['email'];
$password = bcrypt($request['password']);
$user = new User();
$user->email = $email;
$user->password = $password;
$user->role = 1; // Regular = 0, Company - 1
$user->save();
$company_name = $request['company_name'];
$owner_name = $request['owner_name'];
$country = $request['country'];
$phone_number = $request['phone_number'];
$company_type = $request['company_type'];
$description = $request['description'];
$company = new Company();
$company->user_id = $user->id;
$company->company_name = $company_name;
$company->owner_name = $owner_name;
$company->phone_number = $phone_number;
$company->company_type = $company_type;
$company->country = $country;
$company->description = $description;
$company->save();
return view('frontend.user');
}
现在您可以在控制器中检查我的功能,请建议我解决此问题的方法。首先,由于某些原因,您的验证失败。其中一个原因是国家是必需的,但您不发送任何国家。您的国家/地区选项都为空。是的
<select name="country" class="form-control">
<option>Pakistan</option>
<option>Sudia Arabia</option>
<option>America</option>
<option>India</option>
</select>
这将创建一个公司并将对象返回给您 请显示
companySignUp
方法。欢迎使用StackOverflow!请编辑您的问题,并尝试以源代码块格式设置源代码的格式,包括所有{
字符和其他相关行。这将帮助其他读者理解您的代码。可能是因为您的注册函数中有验证代码,请显示该函数的内容。这是我的验证函数$This->validate($request,[‘email’=>‘required | email | unique:users’、‘password’=>‘required | min:6’、‘name’=>‘required | max:120’、‘username’=>‘required | max:120’、‘phone | u number’=>‘required | min:12 | max:14’、‘gender’=>‘required’、‘country’=>‘required’);我更新了我的问题并添加了companysignup函数。另外值得注意的是,$request
变量实际上是一个对象,而不是一个关联数组,您可以使用$request->attr
或$request->get('attr')访问需要的属性
如果我的答案对您有所帮助,请将其标记为解决方案,或者至少是向上投票。stackoverflow就是这样工作的。但如果没有,一切都好。
public function companySignUp(Request $request)
{
$this->validate($request,[
'email' => 'required|email|unique:users',
'password' => 'required|min:6',
'company_name' => 'required|max:120',
'owner_name' => 'required|max:120',
'phone_number' => 'required|min:12|max:14',
'company_type' => 'required',
'country' => 'required',
'description' => 'required'
]);
$email = $request['email'];
$password = bcrypt($request['password']);
$user = new User();
$user->email = $email;
$user->password = $password;
$user->role = 1; // Regular = 0, Company - 1
$user->save();
$company_name = $request['company_name'];
$owner_name = $request['owner_name'];
$country = $request['country'];
$phone_number = $request['phone_number'];
$company_type = $request['company_type'];
$description = $request['description'];
$company = new Company();
$company->user_id = $user->id;
$company->company_name = $company_name;
$company->owner_name = $owner_name;
$company->phone_number = $phone_number;
$company->company_type = $company_type;
$company->country = $country;
$company->description = $description;
$company->save();
return view('frontend.user');
}
<select name="country" class="form-control">
<option>Pakistan</option>
<option>Sudia Arabia</option>
<option>America</option>
<option>India</option>
</select>
<option value="paskistan">Pakistan</option>
$company = Company::create([
'user_id' => $user->id,
'company_name' => $request->company_name,
'owner_name' => $request->owner_name,
//add all in your input the same way
'description' => $request->description
]);