编辑:已找到答案!非常感谢大家,很多答案都有效,我选择了隐藏字段答案,因为它最简单:D我在创建评论脚本时遇到了一个问题。我不得不在同一个页面上使用$_POST和$_GET,我认为这没有意义。我是php的新手,正在self培训。我有一个名为viewVerses.php的页面-它有一个诗句列表。当有人点击回复链接时,echo'Reply';我将verseid(对圣经经文的评论)传递到reply.php,以便可以使用该verseid进行查询。(这样用户仍然可以看到他/她正在评论的诗句)。现在reply.php中有用于发布回复的表单。表单转到postReply.php这是在postReply.
有没有办法确保我的代码收到的$_POST数据来self的表单而不是外部影响。基本上我不希望有人能够将$_POST欺骗到普遍可用的页面,例如帐户创建。任何用户都可以访问帐户创建页面,但我想确保只有通过我的account_creation表单提交的数据才会得到处理。我唯一能想到的就是启动一个$_SESSION,然后使用隐藏输入将session_id提供给表单。在$_POST上,隐藏输入的值将与当前session_id匹配。是否有更好的方法来实现这个结果?如果有,我期待听到。 最佳答案 您无法确保数据来自表单。POST请求只是一个POST
我有一个如下所示的Controller,我的Controller:publicfunctionmethodA(){returnInput::get('n')*10;}publicfunctionmethodB(){returnInput::get('n')*20;}我想根据POST值调用MyController中的一个方法。routes.phpRoute::post('/',function(){$flag=Input::get('flag');if($flag==1){//executemethodAandreturnthevalue}else{//executemethodBand
有什么方法可以准确知道POST请求来自哪个服务器?我正在尝试实现一种方法,在该方法中我可以检查特定请求是否来self的网站,因此这将帮助我确保我的网站安全谢谢 最佳答案 听起来您正在尝试实现跨站请求伪造保护,其中您需要确保请求源自从您的网络服务器传送的HTML。不要依赖refererheader,因为它通常在防火墙中被剥离,并且可以被操纵。有关如何实现这种保护的一些好的资源,请参阅OWASP。基本上它是这样的:生成一个安全的随机值并将其粘贴到用户的session中对于每个HTML表单,将此值包含为隐藏值()每当POST请求返回到您的
背景:我正在symfony上编写一个RESTfulAPI。我希望客户端能够使用内容类型application/json发布到url并发布Controller操作正在寻找的表单的json对象。我为此使用了一个非常基本的Controller设置。出于演示目的,我们假设我正在尝试验证一个简单的用户名密码组合。publicfunctionloginAction(Request$request){$user=newApiUser();$form=$this->createForm(newApiUserType(),$user);if("POST"==$request->getMethod()){
我在表单中有一个日期输入文本,我使用JQuerydatepicker来选择日期。当我使用表单发布将值发布到另一个php进行计算时。我没有单独从这个输入文本中获取值。我得到一个空值而不是选定的日期。$date=$_POST['datepicker'];我不确定如何在POST表单中传递日期选择器值。有人可以帮帮我吗? 最佳答案 jQuery的日期选择器与发布表单无关。如果您的表单设置为“发布”,那么在用户选择日期后留在该输入字段中的任何内容都将与表单一起发送。给你:$date=$_POST['datepicker'];但是,如果您的表单
我正在尝试使用AJAX通过POST方法将多个参数传递到我的PHP文件,以便我可以查询MySQL数据库。HTML文件:FacultyDept.CourseYearName这是我成功访问下拉值和文本框值并将它们分别存储在sv和searchtext11变量中的Javascript文件。但问题是将这两个值传递给PHP文件。问题似乎出在xmlhttp.send(the_data);中传递的the_data变量中searchone()函数如下:functionsearchone(){//alert("hi");varxmlhttp;varsel=document.getElementById('s
假设web表单有5个输入当服务器端接收到post数据时,我使用foreach来接受数据,比如说$the_same=newarray();foreach($_POST['the_same']as$data)$the_same[]=$data;在服务器端保存的数据顺序会和网页形式一样吗?和跨浏览器,它可能是所有浏览器遵循的标准。 最佳答案 嗯,W3CrecommendationonHTMLforms确实说:Thecontrolnames/valuesarelistedintheordertheyappearinthedocument.不
提交表单后,我有2个$_POST变量。在登陆页面中,我想将它们变成$_SESSION变量并取消设置$_POST变量,这样用户就不会收到浏览器再次发送数据的警报。这是我的(不工作)代码:if(isset($_POST['clave'])&&isset($_POST['email'])){$_SESSION['id_user']=$_POST['clave'];$_SESSION['email']=$_POST['email'];}if(isset($_SESSION['id_user'])&&isset($_SESSION['email'])){unset($_POST['clave']
谁能给我解释一下吗?我有以下代码:"method="post">这在我的主开发箱和服务器上运行良好。但是,我现在必须在我的笔记本电脑上远程工作。我已经安装了与我的开发设置完全相同的WAMPServer2.1a版本,并且$_POST数组为空。如果我像这样声明字段:我得到了预期的输出。 最佳答案 来自HTML4.01规范,§17.2,"Controls":Acontrol's"controlname"isgivenbyitsnameattribute....Whenaformissubmittedforprocessing,someco