add.html:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>相加</title> </head> <body> <form action="add.php" method="post"> a:<input type="text" name="a"><br> b:<input type="text" name="b"><br> <input type="submit" value="提交"> </form> </body> </html>
add.php:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>add</title> </head> <body> <?php echo $_POST['a']; if(isset($_POST['a']) && isset($_POST['b'])){ //bug 获取post参数失败 echo $_POST['a']; }else{ echo '请输入参数'; } ?> </body> </html>
使用环境:
Windows本地xampp+PHPStorm
由于是看着教学视频来操作,对于环境的设置并没有涉及,因此查询很多资料都没有有效的。
无意中看到一个给PHPstorm设置Apache环境的,尝试了一下:
然后仔细对比之前用JSP写登录处理时候也遇到过POST参数传递失败,但是当时有重定向了,
在做了请求转发之后参数正常传递。
相比之下,此处的add简单实现应该不需要那么复杂,转而对比其中的form表单:
发现之前的疏忽,改正之后正确获取到POST的数据:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>相加</title> </head> <body> <form action="add.php" method="post"> a:<input type="text" name="a"/><br> b:<input type="text" name="b"/><br> //表单要/结束值的传递!!!! <input type="submit" value="提交"> </form> </body> </html>
此处重点是PHPstorm的本地环境设置和form表单。修改之后没有问题