Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/236.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Laravel复选框输入旧的无法正常工作_Php_Laravel_Checkbox - Fatal编程技术网

Php Laravel复选框输入旧的无法正常工作

Php Laravel复选框输入旧的无法正常工作,php,laravel,checkbox,Php,Laravel,Checkbox,我有一张表格。提交表单后,如果表单有错误,则会重定向到同一页面,并预填充用户提交的数据。我在该表单中有3个复选框字段。假设用户只选中了第一个复选框,并提交了表单。因此,如果表单有一些错误,它将重定向到同一页面,但问题是当它再次重定向到此处时,所有复选框都被选中,而不仅仅是第一个复选框 <div class="form-group"> <label>Hobbies: <span><em>{{$errors->first('hobbies

我有一张表格。提交表单后,如果表单有错误,则会重定向到同一页面,并预填充用户提交的数据。我在该表单中有
3个复选框
字段。假设用户只选中了
第一个复选框
,并提交了表单。因此,如果表单有一些错误,它将重定向到同一页面,但问题是当它再次重定向到此处时,
所有复选框都被选中,而不仅仅是第一个复选框

<div class="form-group">
    <label>Hobbies: <span><em>{{$errors->first('hobbies')}}</em></span></label>
    <input type="checkbox" name="hobbies[]" value="Cricket" @if (is_array(old('hobbies'))) && (in_array('Cricket', old('hobbies'))) checked @endif> Cricket
    <input type="checkbox" name="hobbies[]" value="Football" @if (is_array(old('hobbies'))) && (in_array('Football', old('hobbies'))) checked @endif> Football
    <input type="checkbox" name="hobbies[]" value="Badminton" @if (is_array(old('hobbies'))) && (in_array('Badminton', old('hobbies'))) checked @endif> Badminton
</div>

爱好:{{$errors->first('cabiods')}
板球
足球
羽毛球

你应该这样做才能让它工作

<div class="form-group">
    <label>Hobbies: <span><em>{{$errors->first('hobbies')}}</em></span></label>
    <input type="checkbox" name="hobbies[]" value="Cricket" {{ !empty(old('hobbies')) && (in_array('Cricket', old('hobbies'))) ? 'checked' : '' }}> Cricket
    <input type="checkbox" name="hobbies[]" value="Cricket" {{ !empty(old('hobbies')) && (in_array('Football', old('hobbies'))) ? 'checked' : '' }}> Football
    <input type="checkbox" name="hobbies[]" value="Cricket" {{ !empty(old('hobbies')) && (in_array('Badminton', old('hobbies'))) ? 'checked' : '' }}> Badminton
</div>

爱好:{{$errors->first('cabiods')}
板球
足球
羽毛球

试一试,它应该会起作用。

您的括号不平衡且放错了位置,因此您的
if
计算不正确

@if (is_array(old('hobbies')) && in_array('Badminton', old('hobbies')))

你检查过输入::old(?否。我没有检查你使用的是哪个版本的laravel?我正在使用laravel 5.4 Cricket更改所有三行,如下所示