gpt4 book ai didi

php - 将设置保存到数据库中

转载 作者:行者123 更新时间:2023-11-29 03:09:00 24 4
gpt4 key购买 nike

我有一张 table :

CREATE TABLE siteConfig (
settingName VARCHAR(64) NOT NULL,
value VARCHAR(255),
PRIMARY KEY (settingName)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

显示这些设置。设置显示.php

$setting = siteConfig::find_all();

$this_page = array(
'recaptcha_public_key','recaptcha_private_key','spam_register','spam_login',
'spam_register_emp','spam_login_emp','spam_apply','spam_contact','spam_share',
'spam_feedback','spam_forgot','spam_rsc'
);

foreach ( $setting as $s )
{
if( in_array($s->settingName, $this_page) )
{
$_SESSION['set_ses'][ $s->settingName ] = isset($_SESSION['set_ses'][ $s->settingName ]) ? $_SESSION['set_ses'][ $s->settingName ] : $s->value;
}
}

显示这些设置的部分 html。

<tr>
<td>&nbsp;</td>
<td>{lang mkey='label' skey='spam_register'}</td>
<td><input type="checkbox" name="txt_setting[spam_register]" id="spam_register" class="checkboxField" {if $smarty.session.set_ses.spam_register == 1 } checked="checked"{/if} /></td>
</tr>

所有信息更改后,此页面将其保存到数据库中。更新.php

foreach( $_POST['txt_setting'] as $k => $v )
{
$setting->settingName = $k;
$setting->value = $v;

if( $setting->updateSiteConfig() )
$k = true;
}

当我选中该框时,我的 update.php 什么也看不到。

我不知道如何从这些复选框中获取 1 或 0 值。

固定......

$yes_or_no_key=array(list of my keys);
if( in_array($k, $yes_or_no_key) )
{
$setting->value = $_POST['txt_setting'][$k] == 'on' ? 1 : 0;
}

这解决了我的问题。感谢您的快速回复。

最佳答案

value of checkboxs are sent ONLY if they're checked! – Death

所以你需要这样的东西:

if (!isset($_POST['txt_setting[spam_register]']) $_POST['txt_setting[spam_register]'] = 0; // 0 value

关于php - 将设置保存到数据库中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11071183/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com