当你post的时候,index.html已经在网页上显示出来了
可以这样理解啊?我自己认为是if为空,就加载,否则else就不加载
get显示表单,
post获取数据,插入数据库。 两者都有输入输出,这里只不过get的时候注重输出,post注重输入。 你post的时候如果输入数据符合要求,那么写入数据库,提示用户保存成功,然后跳转页面,基本没有输出。当用户输入数据不符合要求,就要include给他重填。
input表单在index.html里,if如果post空加载带有input的index.html,不为空就没说加载index.html,input就不能传数据了
if 这段是为了展示input 表单;
else是为了处理表单提交;
你是不了解前后端交互逻辑,input是在index.html里渲染好了,然后post到后端,$_POST是从http的请求头里提取的,而不是从浏览器渲染的input里直接获取。
所以你最好复习一下,浏览器(前端)和服务器(后端)之间的交互逻辑吧。
回复 @超爱代码语言 : 在你展示的代码里,$catname['cat']=$_POST['cat'];和 include与否何来因果关系?
不是那个意思,是这样的if($a>5){
echo ,9;}else{ echo 10; } 如果$a=8,结果肯定是9,不会9和10都输出
当你第一次运行index.php 是 $_POST是没有值得 所以渲染index.html文件
这时浏览器拥有input框和from
当你提交表单时from的action应该是提交到index.php文件
这是你第二次运行index.php 这时$_POST有值 运行else
你不会打印$catname吗? 不用纠结那么多,报错也有多种,即使不存在$_POST['cat'],也就是报warning,程序一样可以运行啊。