
正文
包含thinkphp-post的词条
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
thinkphp里控制器的方法参数可以接收POST参数么
1、上传文件不能用POST接收,并且发送文件类型需要在表单里面添加enctype=multipart/form-data这个才能发送文件。如: 在控制器中需要用$_FILES这个来接收上传的文件数据。
2、若是用get/post表单的话,把该值赋到表单的一个name变量,再到控制器里用个变量接收即可 如一楼所说,把变量添加到url后面,再在控制器里用get接收 用ajax,但是楼主的情况除外 个人觉得,楼主应该把业务逻辑说出来,以便提供思路。
3、Thinkphp2版本:使用I方法来获取post、get等参数。例如获取id参数。I(get.id);I(post.id);Thinkphp0版本:由于0版本将单字母方法取消了,取而代之的是一些语义更明确的方法名,I方法对应的是input方法。所有使用input方法来获取post、get等参数。例如获取id参数。
相关问答
Q1: thinkphp怎么判断post提交是否为空
如果我在做一个添加用户的操作时,我们可以设置一个User/useradd.html作为模板。然后写一个UserAction.php。在UserAction.php中写一个userAdd方法,使用isPost()来判断是否状态,就可以把提交前和提交后写在一个Action里面了。
要判断表单是否提交,最简单的办法就是判断超全局变量$_POST,$_GET或$_REQUEST,看当中有没有已在表单中填写的值。具体步骤如下:首先创建一个PHP页面,编写一个简单的表单,method属性设置为post,简便起见,action属性为空,即提交到当前页。为了展示效果在表单域增加一个姓名输入框和一个提交按钮。
PHP要判断表单元素的值是否为空,首先需要提交表单,然后根据name获取表单元素,判断是否为空即可。
如果是 表单提交过来的在php页面会有三个超全局变量来记录表单提交的数据的$_POST,$_GET,$_REQUEST 。如果表单的method是post你可以在后端判断$_POST是否为空,如果是get方法,判断$_GET。然你可以直接用$_REQUEST来判断,不管使用get,还是post方法提交的表单。
Q2: thinkphp接收不到ajax传递的post数据
一,检测加载jquery没有;二,重点是$.post第一个参数发送到你doalipay这个控制器路径对不对,打开firefox好好看看。三,以上两步就是你的问题所在。
可以考虑使用js转值给iframe的方法。如: var la=document.getElementById(save);document.getElementById(addFrame).src=AddMes.php?namesave=la.value;这样就可以转给 AddMes.php.你就算用ajax。 AddMes.php也要刷新。
上传文件不能用POST接收,并且发送文件类型需要在表单里面添加enctype=multipart/form-data这个才能发送文件。如: 在控制器中需要用$_FILES这个来接收上传的文件数据。
POST数据过大,超过了PHP.ini里设置的post_max_size、upload_max_filesize等大小限制。数据在传输过程中被截断了,可能是因为使用了get方式传输数据时,数据太长被浏览器截断,也可能是提交数据时,使用了ajax等方式,但数据未经过正确的编码。
html的javascript-ajax部分,以上步body中的cilik事件为例。php文件的编写部分,主要使用$_POST来接受ajax传输的数据,并可以返回不同类型的数据。如echo结果或者json_encode转码成为json格式的数据返还给前端做处理。结果展示:表单中的内容在提交后,无刷新展示了出来。
Q3: 为什么thinkphp的POST表单发到控制器的方法下面,方法接受不到数据呢?ec...
1、上传文件不能用POST接收,并且发送文件类型需要在表单里面添加enctype=multipart/form-data这个才能发送文件。如: 在控制器中需要用$_FILES这个来接收上传的文件数据。
2、create()打印不出来。。你想打印出什么来,好久没用tp了,但是我还是记得create是添加语句吧。。你都没有传值进去,能打印出什么东西进来呢。。
3、注意表单的Form标签中一定要添加 enctype=”multipart/form-data”文件才能上传。
4、使用这些方法来获取数据而不是直接访问数组($_POST[something])的最大的好处是, 这些方法会检查获取的数据是否存在,如果不存在则返回 NULL 。这使用起来将很方便, 你不再需要去检查数据是否存在。
5、这种情况你应该去检测一下你的conf里面的配置文件是否正确,第一就是数据库链接信息,第二就是db_prefix 这个配置,这个配置是数据库前缀名,默认是tp_把。
6、问题不在于参数名有下划线。首先你没有理解post和get的不同。你写的ajax方法里面url:后面更随的是这样的形式:控制器名/方法名?参数名、值。这个传递方式是get方式。post的传递不是跟随url后面用?号加的参数键值对。
Q4: ThinkPHP中如何使用$.post将数据发给后台处理
,可以通过form表单post到后台,在控制器里面通过I(post.id)就可得到表单提交的id。2,可以通过URL传递到后台,比如‘路径?id=xxx,然后控制器里I(get.id)获取。3,可以用ajax传递到后台。--- 具体操作要看你需要实现什么再来谈了。
var data = {username:我是小明, password:mima};$.post(/Register/submit.html, data , function(response){ alert(response.msg); //response是服务端响应的数据。msg是thinkphp传过来的处理信息。 //thinkphp的响应里,始终会携带一个code属性。
能。根据查询Thinkphp软件使用说明得知,该软件中控制器获取表单数据可以通过形参的方式接收表单提交数据,post也能使用形参接收数据,将表单数据提交到控制器中,控制器获取到数据后输出。
上传文件不能用POST接收,并且发送文件类型需要在表单里面添加enctype=multipart/form-data这个才能发送文件。如: 在控制器中需要用$_FILES这个来接收上传的文件数据。
thinkphp-post的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于、thinkphp-post的信息别忘了在本站进行查找喔。






