【发布时间】:2018-04-29 22:15:07
【问题描述】:
我正在使用 codeigniter 构建一个 Web 应用程序。
此应用具有组播的自动配置网络接口,可根据卡信息生成无效的 IP 组播。在 app.txt conf 文件中,我输入以下数据
auto_ip4=239.106.%card.%number
它扫描卡号并在日志中输出 IP 多播,如本例 239.105.2.1 并且可以正常工作,但在前端 webgui 上出现问题。
我们有一个函数可以保存输入数据并将其存储在 mysql 数据库中; mysql表记录3个值ID、NAME、VALUE
值函数是数据存储的地方 239.105.%card.%number
当我按下保存时,记录看起来像这样:239.105.?rd.%number,当我导出它时,文本配置文件看起来像这样
auto_ip4=239.106.?rd.%number
这是将数据值保存到mysql数据库的PHP表单代码
<?=form_open('config/edit/'.$config->id.'/valid')?>
<table class="form">
<tr>
<th>Config param</th>
<td><?=$config->name?></td>
<td><input type="text" name="value" value="<?=$config->value?>" /></td>
</tr>
<tr>
<td colspan="2"><input type="submit" value="Save"/></td>
</tr>
</table>
<?=form_close()?>
显然这只发生在第一个 % 符号上,第二个被正确存储。
【问题讨论】:
-
嗨,它似乎与十六进制字符有某种关系,我已经测试过输入 .%ca cb cc cd ce cf 并且总是将其替换为 ?
-
但如果我输入 239.106.%cord.%number 输入文本将被正确存储..
-
您问题中的 PHP 代码 显示 表单,但不是 保存 它的代码。编辑您的问题以显示该代码。
-
您似乎在保存时正在做一些事情,这把它搞砸了,所以代码很可能是问题的根源。这只是标准视图代码。
-
当你将数据发送到服务器时,它是作为 GET 还是作为 PUT?如果数据是作为 GET 发送的,请务必对您的数据进行 URLEncode。
标签: php mysql codeigniter