请问GET 能用,但是POST不能用是怎么回事?

php中文网
发布: 2016-06-20 12:40:15
原创
3185人浏览过

先上代码:
html:
nbsp;html>


    
    添加用户



    

        
    

    

        
    

    





adduser.php:

require_once "connectdb.php";
print_r( $_post );
//var_dump($_post;
$fname = $_post[ 'fname' ];
$age = $_post[ 'age' ];

$conn = connectdb();
mysqli_query( $conn, "insert into user(name,age) values ('$fname','$age')" );

?>

输出:
array ( ) 
notice: undefined index: fname in c:\xampp\htdocs\database\adduser.php on line 21

notice: undefined index: age in c:\xampp\htdocs\database\adduser.php on line 22

查看数据库里面有一条空数据插入。但是把post换成get以后就能可以插入正确的数据。

AppMall应用商店
AppMall应用商店

AI应用商店,提供即时交付、按需付费的人工智能应用服务

AppMall应用商店 56
查看详情 AppMall应用商店


回复讨论(解决方案)

光这两个文件 是没有问题的

请贴出真实代码!
出错行都是 21、22行了,你 adduser.php 才给了几行

请贴出真实代码!
出错行都是 21、22行了,你 adduser.php 才给了几行



都是注释了的就没贴出来
真实代码:

<?php/** * Created by PhpStorm. * User: 541464750 * Date: 2016/1/13 * Time:$$ 0:49 *///if(!isset($_GET['fname']))//{//    die("no name");//}//if(!isset($_GET['age']))//{//    die("no age");//}require_once "connectDB.php";print_r( $_GET );//var_dump($_GET;$fname = $_GET[ 'fname' ];$age = $_GET[ 'age' ];$conn = connectDB();mysqli_query( $conn, "INSERT INTO user(name,age) VALUES ('$fname','$age')" );    //header( "Location:alluser.php" );?>
登录后复制


请贴出真实代码!
出错行都是 21、22行了,你 adduser.php 才给了几行



都是注释了的就没贴出来
真实代码:

/**
 * Created by PhpStorm.
 * User: 541464750
 * Date: 2016/1/13
 * Time:$$ 0:49
 */

//if(!isset($_GET['fname']))
//{
//    die("no name");
//}
//if(!isset($_GET['age']))
//{
//    die("no age");
//}
require_once "connectDB.php";
print_r( $_GET );
//var_dump($_GET;
$fname = $_GET[ 'fname' ];
$age = $_GET[ 'age' ];

$conn = connectDB();
mysqli_query( $conn, "INSERT INTO user(name,age) VALUES ('$fname','$age')" );

    //header( "Location:alluser.php" );
?>

这里只是把POST改成了GET 其他的还是和之前一样的。

光这两个文件 是没有问题的


在其他地方也是,GET能用,POST用不了,是因为系统或者设置原因么?


光这两个文件 是没有问题的


在其他地方也是,GET能用,POST用不了,是因为系统或者设置原因么?
你真实代码用的是$_GET   ? 然后print出空值 ,是正常现象。。  
跟你主楼贴的代码以及错误又对不上  
你越贴代码越没描述清楚问题了。。



光这两个文件 是没有问题的


在其他地方也是,GET能用,POST用不了,是因为系统或者设置原因么?
你真实代码用的是$_GET   ? 然后print出空值 ,是正常现象。。  
跟你主楼贴的代码以及错误又对不上  
你越贴代码越没描述清楚问题了。。

就是看我主楼代码就可以了,我只是把一些注释给删除掉发上来了而已。
我用GET的时候print出来的不是空值,但是POST就是空值

用浏览器的开发者模式调试,先看看请求头里是不是真的有数据Post过来。

用浏览器的开发者模式调试,先看看请求头里是不是真的有数据Post过来。


不知道怎么看这个,但是我用print打印出来POST显示的空值,你的意思是不是让我看到底是数据没传过来还是数据没接受到么。

奇怪的很,拦截post啦?

原因找到了。。。是因为我是用phpstorm启动的网页,不是用的apache,改成apache的端口打开网页就好了。

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号