Php WordPress选项正在保存错误的输入

Php WordPress选项正在保存错误的输入,php,wordpress,Php,Wordpress,我正在尝试将WordPress设置保存到数据库中。我使用下面的代码来做这件事。问题是无论我给它什么输入,它只在数据库中保存“p” // Display the admin options page function options_page_fn() { ?> <div class="wrap"> <div class="icon32" id="icon-options-general"><br></div>

我正在尝试将WordPress设置保存到数据库中。我使用下面的代码来做这件事。问题是无论我给它什么输入,它只在数据库中保存“p”

    // Display the admin options page
function options_page_fn() {

?>
    <div class="wrap">
        <div class="icon32" id="icon-options-general"><br></div>
        <h2>Settings</h2>
        Here you can update the details of your options.
        <form action="" method="post" name="options">
        <?php settings_fields('plugin_options'); ?>
        <?php do_settings_sections(__FILE__); ?>
        <?php $opt_api = plugin_options['api_key']; ?>
        <?php $opt_loc = plugin_options['loc_id']; ?>
        <?php $opt_app = plugin_options['app_id']; ?>
        <?php $opt_ulr = plugin_options['url']; ?>
        <?php wp_nonce_field( 'options_save', 'options_save_nonce' ); ?>
        <p class="submit">
            <input name="submit" id="submit" type="submit" class="button-primary" value="<?php esc_attr_e('Save Changes'); ?>" />
        </p>
        </form>

    </div>
<?php
if ( isset( $_POST['submit'] ) && ( $opt_api ) ) {
    if ( isset( $_REQUEST[ 'options_save_nonce' ] ) && wp_verify_nonce( $_REQUEST[ 'options_save_nonce' ], 'options_save' ) ) {

         $arr = array("api_key"=> $opt_api, "loc_id" => $opt_loc, "app_id" => $opt_app, "url" => $opt_ulr);
        update_option('plugin_options', $arr);
        echo "Updated" . $opt_api;
   }else{
       echo "Update Failed";
   }
}
else {
    echo "No API KEY";
}
}
//显示管理选项页面
功能选项\u页面\u fn(){
?>

设置 您可以在此处更新选项的详细信息。


当您检查元素时,页面上是否有任何由设置\字段(“插件\选项”)调用的隐藏字段要保存?没有隐藏字段,但我认为这是因为变量
plugin options
的第一个字母。除此之外,还有任何方法可以验证表单的nonce,哪些操作用于
options。php
出于好奇,
plugin\u options
是定义的常量吗?它不包含前导的
$
,即
$plugin\u options
。此外,
$munch_opt_api
似乎根本没有定义,因此它似乎应该总是写
无api键

似乎有点奇怪,这应该是一个按钮而不是一个段落,还是可能作为一个div?