ユーザーが新しいページを作成し、そのページがメニューの一部になるミニ CMS を作成しようとしています。ページ全体をデータベースに挿入するのは賢明ですか、それとももっと良い方法がありますか? また、挿入時にタグに少し問題があります。今のところコード:
ページをデータベースに挿入する場合:
public function strana_insert()
{
$this->admin_login_check();
$clear = $this->str->clean_request();
$char = array('\n', '\n');
$strana = str_replace($char, '<br>', $clear['opis']);
$kljucna_rec = str_replace( ' ', '_', mb_convert_case($clear['naziv'], MB_CASE_LOWER, "UTF-8") );
$data = array(
'naziv' => $clear['naziv'],
'strana' => htmlspecialchars($strana, ENT_QUOTES , "UTF-8"),
'kljucna_rec' => $kljucna_rec,
'datum_kreiranja' => date("Y-m-d H:i:s")
);
$this->str->save($data);
$this->save_routes();
redirect('admin');
}
clean_request 関数のコード:
public function clean_request()
{
foreach($_POST as $key=>$value) :
$clean[$key]=mysql_real_escape_string(trim($value));
endforeach;
return $clean;
}
タグ付きのページを挿入すると、次の結果が得られます。
<a href=\"http://www.example.com\" class=\"link_name\">www.example.com</a>
ページを更新した後、* \ *の間のすべてが削除されます。ここで何が起こっているのですか?