と に関して問題がserialize()
ありunserialize()
ます。
私はWordpressの関数を書いています.関数は実際には設定ページであり、2つの入力フィールドを使用して設定の配列をエクスポートおよびインポートしようとしています.
コード (およびページ) は少し長いので、こちらの PASTEBINに投稿すると、より快適になります。
私が抱えている問題は、wordpress が設定 API をシリアル化された配列として使用してオプション (または設定) を保存することです。
私が持っている機能は、次のようなオプションを正常に表示できます。
a:10:{s:24:"brsa_copyright_meta_text";s:0:"";s:25:"brsa_remove_menu_css_list";s:0:"";s:19:"brsa_remove_submenu";s:0:"";s:21:"brsa_remove_menu_list";s:0:"";s:15:"brsa_footer_txt";s:0:"";s:22:"brsa_dash_wdgt_content";s:0:"";s:36:"brsa_add_custom_login_message_string";s:0:"";s:21:"brsa_login_url_string";s:0:"";s:21:"brsa_login_alt_string";s:0:"";s:14:"brsa_login_img";s:0:"";}
大丈夫です。それはシリアライズされていますが、DBに挿入しようとすると(またはインポートボタンを押して他のフィールドに表示すると)、実際にはescaped
そうであると思いますが、いずれにしてもシリアライズされたものとしてDBに挿入されませんが、文字列として..
a:10:{s:24:\"brsa_copyright_meta_text\";s:0:\"\";s:25:\"brsa_remove_menu_css_list\";s:0:\"\";s:19:\"brsa_remove_submenu\";s:0:\"\";s:21:\"brsa_remove_menu_list\";s:0:\"\";s:15:\"brsa_footer_txt\";s:0:\"\";s:22:\"brsa_dash_wdgt_content\";s:0:\"\";s:36:\"brsa_add_custom_login_message_string\";s:0:\"\";s:21:\"brsa_login_url_string\";s:0:\"\";s:21:\"brsa_login_alt_string\";s:0:\"\";s:14:\"brsa_login_img\";s:0:\"\";}
..コード全体を使用不能にする。コードの相対的な部分は次のとおりです。
$my_options = get_option( 'o99_brsa_settings' );
$currentsettings = "";
if ( isset( $_POST['import'] ) && trim($_POST['exccc']) != "" ) {
$currentsettings = $_POST['exccc'];
update_option( 'o99_brsa_settings', serialize($currentsettings));
} elseif ( isset( $my_options ) && ( $my_options != "" ) ) {
if ($o99_brsa_options['brsa_keep_settings_exp'] !='') {
$currentsettings = $o99_brsa_options['brsa_keep_settings_exp'];
} else {
$currentsettings = serialize( $my_options );
}
}
私はそれがどのように動作するべきかを理解するために- コード全体 -を見なければならないと信じています..
機能しないという事実を除いて、問題が何であるかについてはよくわかりませんが、最初になぜ価値があるの/escaped/
か 、それを防ぐ方法を知りたいですか?
他のヘルプも大歓迎です..