簡體   English   中英

如何從$ _SESSION獲取作者的ID和姓名到數據庫?

[英]How to get id and name of the author from $_SESSION to database?

我的網站有問題。 我有文章的編輯者,我想了解創建該文章的每個文章的名稱和用戶ID。 我從$_SESSION提供的數據。 在文件EditorController.php中,我有以下代碼:

$managerUsers = new ManagerUsers();
$user = $managerUsers->returnUser();
$this->data['author'] = $user['name'];
$this->data['author_id'] = $user['users_id'];
$review = array(
          'reviews_id' => '',
          'author_id' => '',
          'author' => '',
if ($_POST)
            {
             $keys = array($author_id, $author, 'title', 'content', 'url', 
'description', 'keywords');
             $review = array_intersect_key($_POST, array_flip($keys));

在視圖editor.phtml中,我有以下內容:

<input type="hidden" name="author_id" value="<?= $review['author_id'] ?>" />
<input type="hidden" name="author" value="<?= $review['author'] ?>" />

但是當我將文章保存到數據庫時,這兩個參數沒有保存。 我認為:

<?= $author_id, $author ?>一切正常,在視圖中是現在登錄的用戶的寫入ID和名稱。

$managerUsers = new ManagerUsers();
$user = $managerUsers->returnUser();
$this->data['author'] = $user['name'];
$this->data['author_id'] = $user['users_id'];

沒問題 請給我一些問題出在哪里以及如何解決的建議。 對於所有建議,在此先感謝您。

1)快速的骯臟

如果使用隱藏字段在表單中傳遞authorauthor_id ,則必須使用這些字段。

-$keys = array($author_id, $author, 'title', 'content', 'url', 'description', 'keywords');
+$keys = array('author_id', 'author', 'title', 'content', 'url', 'description', 'keywords');

2)更好的方法

保留這兩個鍵並直接添加

$keys = array('title', 'content', 'url', 'description', 'keywords');
$review = array_intersect_key($_POST, array_flip($keys));
$review['author'] = $user['name'];
$review['author_id'] = $user['users_id'];

3)也許是最好的方法

種類與2相同,但請在前面添加“模板” $review並合並表單值。

$managerUsers = new ManagerUsers();
$user = $managerUsers->returnUser();
$this->data['author'] = $user['name'];
$this->data['author_id'] = $user['users_id'];
$review = array(
    'reviews_id' => '',
    'author_id' => $user['users_id'],
    'author' => $user['name'],
);
if ($_POST) {
    $keys = array('title', 'content', 'url', 'description', 'keywords');
    $review = array_merge(
        $review,
        array_intersect_key($_POST, array_flip($keys)
    );
    // do something with $review
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM