我有以下代码用于注册表单.我想检查电子邮件,看它是否已经登录数据库,如果是,则返回错误.
$name = $_POST['name'];
$email = $_POST['email'];
$result = mysqli_query($connection,"SELECT * FROM users WHERE email='$email'");
if($result=="")
{
echo("email was not found");
}
else
{
echo("email was found");
}
Run Code Online (Sandbox Code Playgroud)
如果结果变回空洞,我会遇到麻烦.我已经尝试过使用几件事,如果找不到任何东西,就无法弄清楚如何让它正常工作.
我正在使用 laravel 4 开发应用程序。我正在对两个表执行以下连接:
$listings = DB::table('user')
->join('listings', 'listings.agent_id', '=', 'user.id')
->where('user.user_level', '=', 3)
->get();
var_dump($listings);
Run Code Online (Sandbox Code Playgroud)
这不是按预期工作,但在 var_dump 中它返回散列密码,我不希望它这样做。
public 'password' => string '$2y$10$o58S16Tw2yc2uvcIs.cy3.lbmyFgUZjTl7nMdLzU2AVXeXVCY5xqK' (length=60)
Run Code Online (Sandbox Code Playgroud)
我的用户模型中有:
protected $hidden = array('password');
Run Code Online (Sandbox Code Playgroud)
但是,我认为这只会将它从 Json 响应中隐藏起来。所以,在这种情况下,我有两个问题:
像这样泄露密码是不是很糟糕?它回来了,但我仍然不喜欢它在外面的事实。显然,我不会在实时应用程序中像这样使用 var_dump,但是信息在那里的事实让我感到紧张。
如果是坏的,我该如何预防?我想要表格中的所有其余信息。所以,我可以重写我的查询以返回除密码之外的所有内容,但是有没有更简单的方法来做到这一点?也许我错过了排除查询中行的内容,而不是写出我想要的每一行?