1
我是Slim框架的新成員,目前我正在爲它創建登錄和註冊服務。PHP 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/[email protected]/11111
或
http://localhost/slim/index.php/[email protected]/11111
它給了我一個頁面未找到錯誤。我沒有更多的想法,任何人都可以幫忙。
請閱讀有關mysql注入並使用準備好的語句或至少轉義值之前在查詢中使用它們。在get url中也有登錄憑據是一個壞主意。他們可能會在第三方網站的REFERER頭部中顯示,並會顯示在日誌,瀏覽器歷史記錄等中 –
您使用的是哪個版本的slim?您似乎將混合Slim 2和Slim 3代碼混合在一起。 – meun5