php – Auth :: check()似乎在我的Laravel项目中无法正常工作

php – Auth :: check()似乎在我的Laravel项目中无法正常工作,第1张

概述我想将用户重定向到主页(路由中名为home),如果他们已登录,则将其重定向到loginpage(路由中名为loginpage),如果他们不是.第一个工作正常,但是当我在登录页面输入正确的用户名和密码时,用户被重定向到同一个登录页面,而不是家. 这是代码 <?phpnamespace App\Http\Controllers;use Auth;use Illuminate\Http\Req 我想将用户重定向到主页(路由中名为home),如果他们已登录,则将其重定向到loginpage(路由中名为loginpage),如果他们不是.第一个工作正常,但是当我在登录页面输入正确的用户名和密码时,用户被重定向到同一个登录页面,而不是家.
这是代码

<?PHPnamespace App\http\Controllers;use Auth;use Illuminate\http\Request;class ClIEntController extends Controller{    public function home() {    if (!Auth::check())      return redirect()->route('loginpage');    else      return vIEw('home');  }  public function loginpage() {    if (!Auth::check())      return vIEw('loginpage');    else      return redirect()->route('home');  }}

我的登录页面中的相关JavaScript代码如下:

function alerting() {        var usernam = document.getElementByID("username").value;        var password = document.getElementByID("password").value;        $(document).ready(function () {            $.AJAX({                type: "POST",url: '{{ URL::asset('login/login.PHP') }}',dataType: 'Json',data: {function_name: 'userLogin',uname: usernam,pname: password},success: function (data) {                    if(data=='1'){                        window.location.href = '{{route('home')}}';                    }else{                        alert("Username or password is wrong.");                    }                }            })        });    }

这是登录功能:

<?PHPinclude "config.PHP";$ra = "SET nameS utf8";$retan = connection();$resu = $retan->query($ra);switch ($_POST['function_name']) {    case 'userLogin':  userLogin($_POST['uname'],$_POST['pname']);  break;}function userLogin($username,$password){   $connect = connection();    $connect->set_charset("utf8");        $query_in = "SELECT count(*) AS tedad FROM app_users au WHERE au.user_email='".$username."' AND au.user_password='".$password."'";        $result = $connect->query($query_in);        $data = MysqLi_fetch_assoc($result);        $primf = $data['tedad'];  echo Json_encode("".$primf);}

上面提到的配置文件:

<?PHPdefine('DB_SERVER','127.0.0.1:3306');    define('DB_USERname','');    define('DB_PASSWORD','');    define('DB_DATABASE','test');function connection(){    $conn = MysqLi_connect(DB_SERVER,DB_USERname,DB_PASSWORD,DB_DATABASE);    return $conn;}?>
解决方法 您正在使用Auth Facade检查用户,而没有使用用户实例或Auth :: loginUsingID调用Auth :: login.

https://laravel.com/docs/5.6/authentication#other-authentication-methods

顺便说一句,您的userLogin函数受sql注入.请尝试按照之前的建议进行 *** 作,并使用laravel的标准auth系统,它就像一个魅力.

总结

以上是内存溢出为你收集整理的php – Auth :: check()似乎在我的Laravel项目中无法正常工作全部内容,希望文章能够帮你解决php – Auth :: check()似乎在我的Laravel项目中无法正常工作所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1253638.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-07
下一篇 2022-06-07

发表评论

登录后才能评论

评论列表(0条)

保存