请问GET 能用,但是POST不能用是怎么回事?
程序员文章站
2022-05-16 11:02:02
...
先上代码:
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以后就能可以插入正确的数据。
都是注释了的就没贴出来
真实代码:
都是注释了的就没贴出来
真实代码:
/**
* 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就是空值
不知道怎么看这个,但是我用print打印出来POST显示的空值,你的意思是不是让我看到底是数据没传过来还是数据没接受到么。
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以后就能可以插入正确的数据。
回复讨论(解决方案)
光这两个文件 是没有问题的
请贴出真实代码!
出错行都是 21、22行了,你 adduser.php 才给了几行
请贴出真实代码!
出错行都是 21、22行了,你 adduser.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的端口打开网页就好了。
下一篇: PHP微信开发之二维码生成类_PHP教程