PHP文件意外结束,在jwt登录页面中
我不明白为什么给我一个错误,在代码的最后一行显示文件的意外en 我试过带还是不带?>但改变错误,不管怎样都不起作用有人能帮我吗 是一个jwt页面登录,我使用slimapp框架。 当我使用用户名和密码进行电话留言时 这是我的错误:PHP文件意外结束,在jwt登录页面中,php,unexpectendoffile,Php,Unexpectendoffile,我不明白为什么给我一个错误,在代码的最后一行显示文件的意外en 我试过带还是不带?>但改变错误,不管怎样都不起作用有人能帮我吗 是一个jwt页面登录,我使用slimapp框架。 当我使用用户名和密码进行电话留言时 这是我的错误: 分析错误:语法错误,第74行的C:\xampp\htdocs\slimapp\src\routes\login.php中出现意外的“?>” 我编辑您的代码。您忘了添加})在结束脚本中: <?php use \Psr\Http\Message\ServerRequ
分析错误:语法错误,第74行的C:\xampp\htdocs\slimapp\src\routes\login.php中出现意外的“?>”
我编辑您的代码。您忘了添加})代码>在结束脚本中:
<?php
use \Psr\Http\Message\ServerRequestInterface as Request;
use \Psr\Http\Message\ResponseInterface as Response;
header('Access-Control-Allow-Origin: *');
header('Access-Control-Allow-Methods: POST, GET, DELETE, PUT, PATCH, OPTIONS');
header('Access-Control-Allow-Headers: token, Content-Type');
$app = new \Slim\App;
$app->post("/authenticate", function(Request $request, Response $response){
$username= $request->getParam('username');
$password= $request->getParam('password');
$table_name = 't_users';
$sql ="SELECT id, first_name, last_name, password FROM " . $table_name . " WHERE username = ? LIMIT 0,1";
$db = new db();
$db=$db->connect();
$stmt = $conn->prepare( $sql );
$stmt->bindParam(1, $username);
$stmt->execute();
$num = $stmt->rowCount();
if($num > 0){
$row = $stmt->fetch(PDO::FETCH_ASSOC);
$id = $row['id'];
$username = $row['username'];
$roles = $row['roles'];
$password2 = $row['password'];
if(password_verify($password, $password2))
{
$secret_key = "javainuse";
$issuer_claim = "LATAVOLAITALIANA"; // this can be the servername
$audience_claim = "THE_AUDIENCE";
$issuedat_claim = time(); // issued at
$notbefore_claim = $issuedat_claim + 10; //not before in seconds
$expire_claim = $issuedat_claim + 60; // expire time in seconds
$token = array(
"iss" => $issuer_claim,
"aud" => $audience_claim,
"iat" => $issuedat_claim,
"nbf" => $notbefore_claim,
"exp" => $expire_claim,
"data" => array(
"id" => $id,
"username" => $username,
"roles" => $roles,
"email" => $email
));
http_response_code(200);
$jwt = JWT::encode($token, $secret_key);
echo json_encode(
array(
"message" => "Successful login.",
"jwt" => $jwt,
"email" => $email,
"expireAt" => $expire_claim
));
}
else{
http_response_code(401);
echo json_encode(array("message" => "Login failed.", "password" => $password));
}
}
}); // edit
?>
您缺少->post
函数的右括号
<?php
use \Psr\Http\Message\ServerRequestInterface as Request;
use \Psr\Http\Message\ResponseInterface as Response;
header('Access-Control-Allow-Origin: *');
header('Access-Control-Allow-Methods: POST, GET, DELETE, PUT, PATCH, OPTIONS');
header('Access-Control-Allow-Headers: token, Content-Type');
$app = new \Slim\App;
$app->post("/authenticate", function(Request $request, Response $response){
$username= $request->getParam('username');
$password= $request->getParam('password');
$table_name = 't_users';
$sql ="SELECT id, first_name, last_name, password FROM " . $table_name . " WHERE username = ? LIMIT 0,1";
$db = new db();
$db=$db->connect();
$stmt = $conn->prepare( $sql );
$stmt->bindParam(1, $username);
$stmt->execute();
$num = $stmt->rowCount();
if($num > 0){
$row = $stmt->fetch(PDO::FETCH_ASSOC);
$id = $row['id'];
$username = $row['username'];
$roles = $row['roles'];
$password2 = $row['password'];
if(password_verify($password, $password2))
{
$secret_key = "javainuse";
$issuer_claim = "LATAVOLAITALIANA"; // this can be the servername
$audience_claim = "THE_AUDIENCE";
$issuedat_claim = time(); // issued at
$notbefore_claim = $issuedat_claim + 10; //not before in seconds
$expire_claim = $issuedat_claim + 60; // expire time in seconds
$token = array(
"iss" => $issuer_claim,
"aud" => $audience_claim,
"iat" => $issuedat_claim,
"nbf" => $notbefore_claim,
"exp" => $expire_claim,
"data" => array(
"id" => $id,
"username" => $username,
"roles" => $roles,
"email" => $email
));
http_response_code(200);
$jwt = JWT::encode($token, $secret_key);
echo json_encode(
array(
"message" => "Successful login.",
"jwt" => $jwt,
"email" => $email,
"expireAt" => $expire_claim
));
}
else{
http_response_code(401);
echo json_encode(array("message" => "Login failed.", "password" => $password));
}
}
}); // edit
?>