gpt4 book ai didi

PHP slim 应用程序没有运行?

转载 作者:行者123 更新时间:2023-11-30 21:59:24 25 4
gpt4 key购买 nike

我是 Slim 框架的新手,目前我正在创建一个用于登录和注册的服务。

我在 lib 中为 database.php 创建了一个数据库文件,并将以下代码放入该文件中以供用户选择数据。

<?php 
use \Psr\Http\Message\ServerRequestInterface as Request;
use \Psr\Http\Message\ResponseInterface as Response;

require 'lib/mysql.php';

class DatabseLayer{
public function __constructor(){

}


public function isUserExist($email, $password){
$dbObject = new DbConnect();
$sql = "Select * from users where email = $email and password = $password limit 1";
$result = mysqli_query($dbObject->getDb(), $sql);
if(count($result) > 0){
return true;
}
return false;
}
}
?>

然后我在 index.php 文件中放入了以下代码

<?php
error_reporting(E_ALL);

use \Psr\Http\Message\ServerRequestInterface as Request;
use \Psr\Http\Message\ResponseInterface as Response;

require 'vendor/autoload.php';
//require 'lib/mysql.php';


require 'lib/database.php';


$app = new \Slim\App;

$app->get('/:email/:password', function($email, $password){

$password = md5($password);

$databaseObject = new DatabaseLayer();
$isRegistered = $databaseObject->isUserExist($email, $password);

$app = SlimSlim::getInstance();

if($isRegistered){
$app->response->setStatus('200');
$app->response->headers->set('Content_Type', 'application/json');
echo json_encode(Array('isLogin' => '1'));

}else{
echo json_encode(Array('isLogin' => '0'));
}

});


$app->run();

?>

当我尝试使用此 URL 登录时

http://localhost/slim/test@test.com/11111

http://localhost/slim/index.php/test@test.com/11111

它给我一个找不到页面的错误。我没有更多的想法,所以任何人都可以提供帮助。

最佳答案

您在使用 Slim 3 的同时以 Slim 2 的方式声明路由。您的应用程序只有一个路由,即 website.com/:email/:password。因此你得到 404 错误。

Slim 3 使用快速路由,而不是以这种方式指定占位符:

'/:email/:password'

你应该这样声明它们:

'/{email}/{password}'

您可以在 corresponding section of Slim documentation 中阅读更多有关声明路由的方法的信息或 nikic/fastRoute github repository .

关于PHP slim 应用程序没有运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43911692/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com