添加單引號。
使用spg_settings['enable']
代替
始終使用引號字符串常量數組索引。例如,$ foo ['bar']是正確的,而$ foo [bar]不是。但爲什麼?在舊腳本中遇到這種語法是很常見的:
<?php
$foo[bar] = 'enemy';
echo $foo[bar];
// etc
?>
這是錯誤的,但它有效。原因是這段代碼有一個未定義的常量(bar)而不是一個字符串('bar' - 注意引號)。 PHP可能在將來定義常數,不幸的是,這些代碼具有相同的名稱。它的工作原理是PHP自動將一個裸露的字符串(不與任何已知符號對應的未加引號的字符串)轉換爲包含裸露字符串的字符串。例如,如果沒有定義的常量bar,那麼PHP將替換字符串'bar'並使用它。
UPDATE1:
更換
<input type="text" id="spg_settings['twitter_url']" name="spg_settings['twitter_url']" value="<?php echo $spg_options['twitter_url']; ?>"/>
用的代碼如下行
<input type="text" id="spg_settings['twitter_url']" name="spg_settings['twitter_url']" value="<?php echo (isset($spg_options['twitter_url'])) ? $spg_options['twitter_url'] : ''; ?>"/>
UPDATE2:
而更換
<input id="spg_settings['enable']" name="spg_settings['enable']" type="checkbox" value="1" <?php checked(1, $spg_options['enable']); ?> />
與
<input id="spg_settings['enable']" name="spg_settings['enable']" type="checkbox" value="1" <?php checked(1, (isset($spg_options['enable'])) ? $spg_options['enable'] : 0); ?> />
欲瞭解更多信息,請查看here
查看我的更新回答 –
再次檢查,是代碼中的錯誤 –
我想我不能讓你理解。這在你現在已經回答之前已經有效了。但是現在我使用了你的代碼,但是它沒有保存任何東西。我以前的工作很好。 我的問題是在這裏, /> 對不起,請勿將代碼置於正確的方式 – aarif