php cms v9苹果手机表单phpcms ajax提交表单,没有数据

PHP无法获取表单post方式提交的数据问题 - 樱花公主 - 博客园
我本地有几个系统是基于phpcmsv9系统二次开发的,突然今天发现自己本地的系统管理员无法登陆后台,提示用户名不能为空,我找到相关文件,进行调试打印了一下post提交的数据& print_r($_POST);结果数组为空,我仔仔细细看了一下代码确定代码没有问题,重启了apache问题也还是不能解决,我试着登录其他phpcmsv9二次开发的系统,惊奇的发现也会提示&用户名不能为空&,而线上的系统却能登录,从而得知应该是我本地网站运行环境配置有问题,
我从网上查了一些资料,有说把php.ini文件中register_global参数改为on的,但是我试过了,没有用,后来搜到一篇文章看完后,
却有如下发现:
当前最新的PHP手册中有如下含义的表示:
根据&PHP&手册叙述归纳的理论
配置项&post_max_size&和&upload_max_filesize&都可以接受&缩写的字节值&,即可以使用&K,M,G&表示千兆吉。另外&post_max_size&应该大于&upload_max_filesize&(意思是说不这么设置的话,可能会出现文件大小未超过&upload_max_filesize&却超过&post_max_size&也会导致上传失败)。另外当&POST&数据超出&post_max_size&范围后,$_POST&和&$_FILES&将为空。
手册原文参见&http://www.php.net/manual/zh/ini.core.php#ini.post-max-size
PHP&bug&描述
1.&post_max_size&使用简写法,且值等于或超过&2G&时,application/x-www-form-urlencoded&形式的&POST&数据会被丢失而无法获取。(比如&2G&会出现此问题,但&&却不会有问题)2.&upload_max_filesize&使用简写法,且值等于或超过&2G&时,其限制会失效,超过2G的文件仍然可以上传成功。(比如&2048M&会出现此问题,但&&却不会有问题)3.&当上传文件大小超过&2G&时,post_max_size&对&multipart/form-data&的限制会失效,可以通过&$_POST&获取到数据。4.&当post_max_size&和&upload_max_filesize&都用完整的&integer&字节数表示,且值大到某个程度时(可能是大于2G吧),上传未超过配置大小的文件也可能失败。
原来是我的前两天修改php.ini参数设置导致了现在的问题,我把post_max_size改成了4048M,这就和上面的bug问题就吻合了,我改得超过了2G,故而post数据丢失,无法获取,于是我把post_max_size改成了2047M,然后重启了一下apache服务,再测试登录就可以获取了
O(&_&)O哈哈~,今天又有新发现,开心ing此问题将跳转至
该问题目前已经被锁定,无法添加新回复
最新活动: 22:24
浏览:1541 次
关注:1 人phpcms v9表单向导中怎么加入验证码 - 推酷
phpcms v9表单向导中怎么加入验证码
表单想到比较简单,所以没有加入验证码的功能。网上的类似教程又大多数不准确。所以亲自测试了一下,发现下面的方法是可用的。希望对有需求的朋友们有所帮助。
1首先是调用表单的页面加入验证码。表单js调用模版默认的是
\phpcms\templates\default\formguide\show_js.html.
在该文件里面找到这行代码,大概在23行
&th width=&80&&{if $info['star']} &font color=&red&&*&/font&{/if} {$info['name']}
&td&{$info['form']}
{$info['tips']}&/td&
在下面加入一行代码。
&tr&&td style=&text-align:&&验证码&/td&&td colspan=&2&&&span title=&点击更换验证码& style=& cursor:&&&input type=&text& id=&code& name=&code& size=&8& class=&input-text&&{form::checkcode('code_img', '4', '14', 84, 24)}&/span&请输入图片中的验证码&/td&&/tr&
2找到这个文件
\phpcms\modules\formguide\index.php
这个需要修改两处
1)在第三行找到这行代码。
defined('IN_PHPCMS') or exit('No permission resources.');
define('CACHE_MODEL_PATH',PHPCMS_PATH.'caches'.DIRECTORY_SEPARATOR.'caches_model'.DIRECTORY_SEPARATOR.'caches_data'.DIRECTORY_SEPARATOR);
然后在后面加入下面两行代码
$session_storage = 'session_'.pc_base::load_config('system','session_storage');
pc_base::load_sys_class($session_storage);
2)找到下面这行代码
if (isset($_POST['dosubmit'])) {
$tablename = 'form_'.$r['tablename'];
$this-&m_db-&change_table($tablename);
然后在下面加入下面这段代码
if(!empty($_SESSION['code'])) {
//判断验证码
$code = isset($_POST['code']) && trim($_POST['code']) ? trim($_POST['code']) : showmessage(L('input_code'), HTTP_REFERER);
if ($_SESSION['code'] != strtolower($code)) {
showmessage(L('code_error'), HTTP_REFERER);
已发表评论数()
请填写推刊名
描述不能大于100个字符!
权限设置: 公开
仅自己可见
正文不准确
标题不准确
排版有问题
主题不准确
没有分页内容
图片无法显示
视频无法显示
与原文不一致17604人阅读
【phpcms-v9深入研究】(110)
表单向导的适用场合:
&&&&&&& 如果一个前台页面只是为了提交表单数据,那么就非常适合适用表单向导的功能,如下面留言板的案例;如果一个前台页面不只是为了提交表单,还要求在当前前台页面显示提交表单的内容,这种情况就不太适合适用表单向导,更适合将其作为一个模块或插件进行安装,如前台页面需要显示用户留言信息的情况
效果图如下:
1,进入“模块”
2,选择“表单向导”
3,点击“添加表单向导”在“名称”里填“留言板”,然后再“表名”里填“liuyanban”,然后再“允许游客提交表单”栏选“是”。再确定。
4,这时候就出现了一个“留言板”的信息,然后我们在后面找到“添加字段”。
5,点“添加字段”进去,第一行“字段类型”选择,我们一般看到的留言板第一栏都 是“标题”对吧,而“标题”呢就是一个“单行文本”,那我们这里也选择“单行文本”。然后第二栏“字段类型”,这里是放在数据库里面的表名,用来存放“标 题“数据,那我就填一个”标题“的拼音缩写吧:biaoti。接下来就是字段别名了,我们就直接写”标题“吧。再下面是”字段提示“,这里可以不用填,但 是为了让用户更好体验,我们还是填一个提示比较好,就填入”请填写标题“。再下面是”相关参数“的填写,”标题“的”文本框长度“一般就填为50吧,默认
值可写可不写。然后其他的就用管了,直接提交吧。提交以后,我们就会发现刚才添加的字段已经出来了,我们可以点击上面的”预览“按钮看下效果,怎么样?是 不是出现了一个填写标题的输入框。
6,接下来我们就继续添加字段了,根据我们的需要,我们依次添加:留言人、性别、联系电话,留言内容 等字段。注意像”留言人“和”联系电话“在选择字段类型时可以跟”标题“一样选择”单行文本“,”性别“在选择字段类型时选择”选项“,而”留言内容“要 选择”多行文本“或者”编辑器“。
7,在所有的字段添加完成后,我们回到“模块”下“表单向导”这里。我们可以看到在”留言板“后面是不是有个”调用“的脚本,我们把这个脚本放在我们的制作的留言板模板页面里就可以用了哦~~
同样道理:我们还可以自己发挥制作一些其他表单。
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:1788952次
积分:19947
积分:19947
排名:第330名
原创:380篇
转载:257篇
评论:394条
(1)(1)(17)(2)(2)(1)(7)(8)(3)(21)(32)(38)(6)(5)(13)(11)(25)(1)(18)(2)(1)(11)(30)(8)(10)(12)(73)(114)(67)(74)(23)(1)

我要回帖

更多关于 phpcms v9表单向导 的文章

 

随机推荐