500内部服务器错误)
Tassel
Tassel 2017-09-13 10:11:47
0
7
1964

<!--Ajax提交脚本-->
$(function(){
   //给登陆按钮添加点击事件
   $("#login").on('click',function (event) {
     $.ajax({
        type:"POST",  //提交方式为POST
        url:"{:url('checkLogin')}",    //设置提交数据处理的脚本文件的地址
        data:$("form").serialize(), //将当前表单的数据序列化以后再提交
        dataType:'json', //设置提交数据的类型为json
        success:function (data) { //只有返回标志为1,才进行处理
                  if(data.status==1){ //只有返回状态值为 1,才允许跳转到后台
                      alert(data.message);    //先弹出提示框,提示用户成功
                      window.location.href="{:url('index/index')}";
                  }else{  //输出错误信息
                      alert(data.message);
                  }
              }
     });
      })
})

User.php

<?php
namespace app\index\controller;

use app\index\controller\Base;
//use think\Controller;
use think\Request;
use app\index\model\User as UserModel;
use think\db;
class User extends Base
{
  //登录页面
  public function login()
  {
     //return $this->view-> fetch();
     return $this ->view -> fetch();
     //return view();
  }


  //验证登陆 $this->>validate($data,$rule,$msq)需要验证的数据,验证数据的规则,验证失败后的提示信息
  public function checkLogin(Request $request)
  {
     //初始返回参数
     $status =0;
     $result ='';
     $data = $request -> param();
     //创建验证规则
     $rule=[
        'name|用户名'=>'require',  //用户名必填
        'password|密码'=>'require',  //密码必填
        'verify|验证码'=>'require|captcha',        //用户名必填
     ];
     //自定义验证失败的提示信息
     $msg=[
        'name'=>['require'=>'用户名不能为空,请检查'],
        'password'=>['require'=>'密码不能为空,请检查'],
        'verify'=>[
           'require'=>'验证码不能为空,请检查',
           'captcha'=>'验证码错误',
           ],
     ];
     //进行验证
     //$result 只会返回两种值:true->表示验证通过,如果返回字符串,则是用户自定义的错误提示
     $result=$this->validate($data,$rule,$msg);


     //如果验证通过则执行
     if($result===true){
        //构造查询条件
        $map=[
           'name'=> $data['name'],
           'password' => md5($data['password'])
     ];

     //查询用户信息
        $user=UserModel::get($map);
        if($user == null){
           $result = '没有找到该用户';
        }else{
           $status = 1;
           $result = '验证通过,点击[确定]进入';
        }

     }
     return ['status'=>$status,'message'=>$result,'data'=>$data];
  }
  //退出登录
  public function  logout(){

  }

}

输入正确的账号密码验证码后,页面就没反应了,报错是这个

1505268654(1).jpg

Tassel
Tassel

全部回复(4)
Hello^Kitty

2018-03-26_213233.png不行哇,楼主

  • 回复 找到.gitignore 文件 有很多个 具体哪个我忘了.. 印象中是checklogin上级目录下 你可以多试试 找到后 右键编辑 另存为 右下方有个编码格式 现在如果是ansi 则改成 UTF-8
    Tassel 作者 2018-03-27 09:10:29
  • 回复 关键是 都木有 checklogin.html哇 楼楼
    Hello^Kitty 作者 2018-03-27 15:22:31
Hello^Kitty

楼主,我也遇到同样的问题500报错,请问是怎么解决的呢

  • 回复 文件格式的问题 右键格式 换一下就可以了 具体什么格式我忘了 问题太久了 网上有相关的说明 你找一下 没解决的话明天我再看下 回复
    Tassel 作者 2018-03-26 17:42:45
________
 $result=$this->validate($data,$rule,$msg);

这个有毒,想想和这个请求没关系吧;但是, 修改第三个参数删除或者 把自定义的的错误提示信息删除 又可以连了 这是什么情况!?

  • 回复 谢谢 这个问题已经解决了 是thinkphp中 .gitignore 文件的问题 已经解决了 谢谢
    Tassel 作者 2017-09-27 17:10:07
  • 回复 回复 Tassel:遇到了同样的问题,能问一下怎么解决的吗?
    vine 作者 2017-10-22 10:18:24
  • 回复 这个问题怎么解决的
    无忌哥哥 作者 2017-12-19 12:44:40
小小卫

。。。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板