• php表单提交时获取不到post数据的解决方法


    原文:http://blog.csdn.net/whd526/article/details/53263181

    博主运行PHP环境:windows+phpstorm+xampp

    初学php,用echo $_POST["variable"]和var_dump($_POST) 都获取不到post数据。

    解决方法如下:

    1.找到php.ini 配置文件,查找enable_post_data_reading变量,确保其打开状态:

    2.观察你的运行php的浏览器地址,会发现在PhpStorm中打开浏览器使用的服务端口号是63342(URL是localhost:63342/这样的形式)

    因此问题的原因在于:PhpStorm默认使用的是自带的内部服务器,却不使用xampp里面的apache服务器。phpStorm这个内置服务器使用63342端口,而且服务器内部有问题,导致POST方法异常;而如果把项目放在Apache服务器的工作目录下,在地址栏输入localhost,此时使用的是Apache服务器,默认端口号为80,Apache服务器可以正常运行程序。

    既然PhpStorm内部服务器有问题,那解决方法就是想办法不使用内部服务器。有两种方法:

    1.将项目创建在Apache服务器的工作目录下,每次运行时在浏览器地址栏直接输入localhost地址

    2.如果仍希望通过从PhpStorm中打开浏览器调试程序,可以通过更改配置实现:

    (1)首先将apache服务器目录映射到本地目录

    做法如下:

    1. 找到 /xampp/apache/conf/httpd.conf 文件

    2. 找到 <IfModule alias_module> </ifModule> 代码块

    3. 在<IfModule alias_module>的子级加上如下代码:

    [plain] view plain copy
     
    1. # /phpworkspace/ : 其它磁盘上目录的别名, 就是你想映射过来的目录的别名  
    2. # "E/phpworkspace/" : 这个是目录的绝对路径  
    3. Alias /phpworkspace/ "E/phpworkspace/"  
    4. # 现在就可以通过 //localhost/phpworkspace/ 访问到 E盘下phpworkspace文件夹里的项目了  
    4. 

    在与 <ifModule alias_module> 同级的地方加上一段代码, 如下:

    [plain] view plain copy
     
    1. <Directory "E/phpworkspace/">  
    2.     AllowOverride All  
    3.     Options Indexes FollowSymLinks Includes ExecCGI  
    4.     Require all granted  
    5. </Directory>  

    完工. 现在重启Apache, 访问 : http://localhost/phpworkspace/ 就可以了

    (2)然后在PhpStorm中,依次找到File->Settings->Build, Execution, Deployment->Deployment,初始是空的,点击绿色的加号添加本地服务器,名字localhost就好了,Type选择In place:

    创建完成后,右侧Connection标签下默认的设置已经将服务器配置为80端口下的Apache服务器,即http://localhost

    将其改成你映射到本地项目的工作目录:


    Mappings标签下的Local path设置成你本地项目的目录:

     
    此时从PhpStorm中点击浏览器,访问的URL已经没有了63342端口这个字段,而是使用了本地Apache服务器,相应的表单数据也可以正常接收了
     
     
     
  • 相关阅读:
    LeetCode 206. Reverse Linked List倒置链表 C++
    spring security 5 There is no PasswordEncoder mapped for the id "null" 错误
    jdk 1.8下 java ArrayList 添加元素解析
    qt (5.60/5.70) 编译 QOCI 驱动
    ps快捷键
    使用jquery中height()方法获取各种高度
    事件委托live,delegate,on区别
    ajax获取数据后怎么去渲染到页面?
    JavaScript:document.execCommand()的用法
    兼容IE FF 获取鼠标位置
  • 原文地址:https://www.cnblogs.com/jeacy/p/7117843.html
Copyright © 2020-2023  润新知