私はスリムフレームワークを初めて使用しています。私はスリムなフレームワークでセッションする必要があります。私はスリムなフレームワークでネイティブPHPセッションを使用しています。スリムフレームワークのネイティブセッションの使用
スリムがインスタンス化される前に、私はindex.phpの中でこの行を追加しました:
<?php
session_cache_limiter(false);
session_start();
そして、私は以下のようにURLにデータを挿入してリダイレクトされる中で定義されたルートがあります。
$app->post('/users', function()use($app) {
$useradd = new \app\User();
$session = new \app\Session();
$data = $useradd->addUsers();
if($session->getId('useraddsuc')) {
$app->response->redirect('../templates/user?success');
} else {
$app->response->redirect('../templates/user?fail');
}
});
を
、セッションは以下のようにaddUsers
方法で設定されています
function addUsers() {
try {
$db = new \app\Config();
$name = $db->escape($_POST['name']);
$email = $db->escape($_POST['email']);
$date_created = date("Y-m-d H:i:s");
$tmp_id = $db->random_id(8);
$sql = "INSERT INTO app_user (user_name, user_email, user_role, user_date_create, user_tmp_id, user_date_modified) VALUES ('$name','$email','store_admin','$date_created','$tmp_id','$date_created')";
$query = $db->insertQuery($sql);
$session = new \app\Session();
$session->setId('useraddsuc', 'user account added successfully');
}
catch(Exception $e) {
echo $e;
}
}
セッションが設定されているときに、その正しいパスにリダイレクトされます。 リダイレクト後にURLパスのセッション変数にアクセスできませんでした。 templates/user/index.php
では、addUsers
メソッドで設定されたセッション変数にアクセスできません。下のコードはtemplates/user/index.php
のセッションをチェックするために書かれていますが、これは動作しません。親切に助けてください! templates/user/index.php
<?php if(isset($_SESSION['useraddsuc'])) { ?>
echo "User added successfully!!"
<?php } ?>