Php 为什么带有request->only()的if语句不起作用?(拉雷维尔)
我对if语句有问题,但我没有 知道如何修复它。我想做的是如果有人输入正确的 vCode,将创建用户。如果vCode不正确,则不会创建用户,$message变量将为:vCode invalid 但即使输入正确的vCode,消息仍会显示vCode无效。 这是我的密码:Php 为什么带有request->only()的if语句不起作用?(拉雷维尔),php,laravel,Php,Laravel,我对if语句有问题,但我没有 知道如何修复它。我想做的是如果有人输入正确的 vCode,将创建用户。如果vCode不正确,则不会创建用户,$message变量将为:vCode invalid 但即使输入正确的vCode,消息仍会显示vCode无效。 这是我的密码: public function store(Request $request) { $vCode = $request->only('vcode'); if ($vCode == 'stackoverflow
public function store(Request $request) {
$vCode = $request->only('vcode');
if ($vCode == 'stackoverflow') {
// request only the form-inputs with the names: firstname, lastname and email.
$oUser = User::create($request->only('firstname', 'lastname', 'email'));
$oUser->createPassword();
$oUser->setRole(2);
$oUser->save();
$message = $oUser->getFullname().'succesfully created';
} else {
$message = "vCode valid";
}
return back()->with('successmessage', $message);
}
$request->only'vcode'返回仅包含一个元素的关联数组
如果您在唯一的通话中有三件事,您的结果可能是:
$request->only('name', 'age', 'cheese');
// ['name' => 'Pingu', 'age' => '22', 'cheese' => 'gorgonzola']
但如果只有一个元素,仍然会得到一个数组,它恰好更小:
$request->only('vcode');
// ['vcode' => 'stackoverflow']
因此,您需要更改您的if条件:
if ($vCode['vcode'] == 'stackoverflow') {
// should work
}
或者您可以将其作为单个值:
$vCode = $request->input('vcode');
if ($vCode == 'stackoverflow') {
// should work
}
对单个项目使用普通调用输入:$vCode=$request->input'vCode';,仅返回一个数组
另外,不要使用==进行字符串比较,请使用==。您确定$vCode==='stackoverflow'?我看不出它有什么问题。dd$request,$vCode;并查看通过请求发送的内容以及分配给$vCode的内容