php后端登录设计,Vue+php 后端PHP登录接口编写

session_start();

header('Access-Control-Allow-Origin: *');

error_reporting(E_ALL & ~E_NOTICE);

//header("Content-type: text/html; charset=gbk");

/*

注意:

本php是gbk编码的,因为mysise就是gbk编码没办法

json_encode()里面的值要先转换为utf-8才能被识别

*/

$user=$_POST['user']?$_POST['user']:$_SESSION['user']['user'];

$pass=$_POST['pass']?$_POST['pass']:$_SESSION['user']['pass'];

$sise_cookie=$_POST['sise_cookie']?$_POST['sise_cookie']:$_SESSION['user']['sise_cookie'];

//echo $_POST['sise_cookie'];

//测试账号110

if($_POST['user']=='110'&&$_POST['pass']=='110') {

include("./user.php");

exit();

}

//登录页面

if($_GET["method"] == 'login'){

$curlpost="number=$user&pwd=$pass";

$scse_cookie=tempnam('./temp','cookie');

//模拟登录scse

$scse_url="http://my.scse.com.cn/login_pro.asp";

LinkCurl($scse_url,$curlpost,$scse_cookie);

//获取管理系统隐藏字段

$sise_login_url="http://class.sise.com.cn:7001/sise/login.jsp";

$sise_login_html=getCurlCon($sise_login_url,$scse_cookie);

preg_match('//', $sise_login_html,$arr);

//print_r($arr);

//模拟登录管理系统

$curlpost="username=$user&password=$pass&$arr[1]=$arr[2]";

$sise_cookie=tempnam('./temp','cookie');

$sise_login_check_url="http://class.sise.com.cn:7001/sise/login_check.jsp";

LinkCurl($sise_login_check_url,$curlpost,$sise_cookie);

//正常用户登录

$res = array(

"code" => 404,

"msg" => "failed"

);

$course_url="http://class.sise.com.cn:7001/sise/module/student_schedular/student_schedular.jsp";

$course_html=getCurlCon($course_url,$sise_cookie);

preg_match_all('/((.*)  (.*)  (.*)  (.*))/', $course_html,$user_info);

if(!empty($user_info[2][0])){

//登录成功后保存用户数据

$_SESSION['user']= array(

'user' => $user,

'pass' => $pass,

'sise_cookie' => $sise_cookie

);

$res = array(

"code" => 200,

"msg" => "success",

'sise_cookie' => $sise_cookie

);

}

print_r(json_encode($res));

}

//课程表页面

if($_GET["method"] == 'course'){

//正常用户登录

$res = array(

"code" => 404,

"msg" => "failed",

"resData" => []

);

$course_url="http://class.sise.com.cn:7001/sise/module/student_schedular/student_schedular.jsp";

$course_html=getCurlCon($course_url,$sise_cookie);

preg_match_all('/(.*)  (.*)  (.*)  (.*)/U', $course_html,$user_info);

preg_match_all("/

(.*)/U", $course_html,$course);

$res_course=array();

for($i=0;$i<8;$i++){

for($j=$i*7,$k=0;$j

if ($course[1][$j] == ' ') $course[1][$j] = '';

if($k!=5 && $k!=6) {

$res_course[$i][$k] = iconv('gbk', 'utf-8', $course[1][$j]);

}

}

}

$res = array(

"code" => 200,

"msg" => "success",

"resData" => array(

"info" => array(

"stuNum" => iconv('gbk', 'utf-8', mb_substr($user_info[1][0],6,null)),

"name" => iconv('gbk', 'utf-8', mb_substr($user_info[2][0],6,null)),

"grade" => iconv('gbk', 'utf-8', mb_substr($user_info[3][0],6,null)),

"major" => iconv('gbk', 'utf-8', mb_substr($user_info[4][0],6,null)),

),

"course" => $res_course

)

);

print_r(json_encode($res));

//print_r($res_course);

}

//查找老师页面

if($_GET["method"] == 'teacher'){

// gei请求的name查询字符串

$name = $_GET["name"];

//获取老师的json数据库

$data = json_decode(file_get_contents("./json/teacher.json" ));

//老师的信息

$arr = array();

//响应数据

$res = array();

//查询json数据库

for($i=0;$i

if($data[$i]->name == $name){

$arr = $data[$i];

}

}

//判断查询数据

if(!empty($arr)){

//如果工号为三位就前面加个0

if(mb_strlen($arr->num) ==3 ){

$arr->num = "0".$arr->num;

}

$res = array(

"code" => 200,

"msg" => "success",

"resData" => $arr

);

} else {

$res = array(

"code" => 404,

"msg" => "failed",

"resData" => array()

);

}

print_r(json_encode($res));

}

//考勤信息页面

if($_GET["method"] == 'attendance'){

//正常用户登录

$res = array(

"code" => 404,

"msg" => "failed",

"resData" => []

);

$main_url="http://class.sise.com.cn:7001/sise/module/student_states/student_select_class/main.jsp";

$main_html=getCurlCon($main_url,$sise_cookie);

preg_match_all('/window\.location=\'\.\.\/\.\.\/\.\.\/\.\.\/\.\.\/(.*)\'\"/Um', $main_html,$main);

$attendance_url='http://class.sise.com.cn:7001/'.$main[1][1];

$attendance_html = getCurlCon($attendance_url,$sise_cookie);

//print_r($attendance_html);

preg_match_all('/

(.*)(\d+)/U', $attendance_html,$count);

preg_match_all('/

(.*)/U', $attendance_html,$attendance);

$res_attendance=array();

for($i=0;$i

for($j=$i*3,$k=0;$j

switch ($k) {

case 0:

$res_attendance[$i]["num"] = iconv('gbk', 'utf-8', $attendance[1][$j]);

break;

case 1:

$res_attendance[$i]["name"] = iconv('gbk', 'utf-8', $attendance[1][$j]);

break;

case 2:

//匹配请假次数

preg_match_all('/\[(.*)\]/U', $attendance[1][$j],$count);

if(empty($count[2][0])){

$res_attendance[$i]["detail"] = iconv('gbk', 'utf-8', mb_substr($attendance[1][$j],0,4)).$count[2][0];

}else{

$res_attendance[$i]["detail"] = iconv('gbk', 'utf-8', mb_substr($attendance[1][$j],0,4)).$count[2][0].'次';

}

break;

default:

break;

}

}

}

$res = array(

"code" => 200,

"msg" => "success",

"resData" => array(

"total" => $count[2][0],

"list" => $res_attendance

)

);

print_r(json_encode($res));

}

//模拟登录函数

function LinkCurl($url,$curlpost,$cookie_file){

$curl=curl_init($url);

curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);

curl_setopt($curl, CURLOPT_POST, 1);

curl_setopt($curl, CURLOPT_POSTFIELDS, $curlpost);

curl_setopt($curl, CURLOPT_COOKIEJAR, $cookie_file);

curl_exec($curl);

curl_close($curl);

}

//模拟登录后获取页面内容函数

function getCurlCon($url,$cookie_file){

$curl=curl_init($url);

curl_setopt($curl, CURLOPT_HEADER, 0);

curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);

curl_setopt($curl, CURLOPT_COOKIEFILE, $cookie_file);

$data=curl_exec($curl);

curl_close($curl);

return $data;

}

?>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值