各位大佬,小弟新学php,如图所示,同样的变量$name ,用echo输出则没有值,而下方从数据库可以查到输入的值,请问这是为什么?,详细问题,下附代码
这是前端页面的ajax请求截图
各位大佬,小弟新学php,如图所示,同样的变量$name ,用echo输出则没有值,而下方从数据库可以查到输入的值,请问这是为什么?,详细问题,下附代码
这是前端页面的ajax请求截图
前面 那个 name 是从表单里取的(即:用户提交的), 后面那个 name 是来自数据库里(而 name 是数据库的一个字段)
前面 那个 name 是可以随便命名的。比如 $a = $_POST['name']; var_dump($a); 如果为空,说明用户在提交表单的时候,没有输入。
后面 那个 $row['name'] 是不能乱写的。比如:你写个 $row['abc'] 就没有值了。因为数据表里没有 abc 这个字段
唔 推荐jquery一个更简便的ajax post方法
$.post(uri,{'argu':data},function(res){
...你的回调操作...
})
这个方法更简洁哦
你$name的赋值 是把 post的name 赋值过去的 所以 你想要输出的name 又数据 需要先执行post (也就是说这个处理页面onlinedb.php 直接访问是不会有输出的)
然后当你执行了 ajax操作之后。 post过去了个数组 这时候 如果你 echo $name;
这行没有删除的话应该可以在网络状态里看到输出了东西 如图
你试试
没有是正常的,你echo的name是你从前端表单提交的数据,但是你下方的$name 是从数据库查询得到的,由于你sql语句为 select * from 表名,也就是说,无论你前面能不能得到$name 只要数据库能连接起来,且数据库有数据,这个$name 肯定能从数据库查到
1 回答4k 阅读✓ 已解决
3 回答1.8k 阅读✓ 已解决
2 回答2.2k 阅读✓ 已解决
1 回答1.4k 阅读✓ 已解决
2 回答2.2k 阅读
1 回答563 阅读✓ 已解决
2 回答854 阅读
你
post
到后端的时候是个空值吗? 您用echo
为空时就看不到的,您用var_dump($_POST)
这样打印一下吧