私はSlimフレームワークで新しく、現在はログインと登録用のサービスを作成しています。PHPのスリムアプリケーションが実行されていませんか?
database.php
のlibにデータベースファイルを作成し、そのファイルに次のコードを追加してユーザー用のデータを作成しました。
<?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 2とSlim 3のコードを混在させているようです。 – meun5