这个问题呢,本来应该不能算是一个问题。但是呢,把PHP和THML单独分开作为两个文件,就有可能出现问题。关于我怎么发现这个问题的呢,在看到各大学习网站对表单这一章节进行分析的时候,基本上都是把html和php放在一起,也就是说将php嵌入到html中,然后我呢,就想能不能把这个单独分开,在用户还没有点提交的时候不需要php进行解释。
于是,我就发现了各种问题(本人小白)。
第一个问题发现了:
代码如下:
<?php
$keywords = $_POST["keywords"];
echo $keywords;
?>
错误提示:
对于这个错误提示我是表示很难受,感觉到不应该啊,虽然没有定义。后来,查看百度,说并不影响到数据的传输。不过,对结果并没有什么影响。(听说可以在php的配置文件中可以修改php_eror什么的)。
第二个问题就是action的问题,这好像也是绝大部分人错误的原因:路径写错。
附上html代码:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
<form action="http://127.0.0.1" method="post">
<input type="text" name="keywords" value="" />
<input type="submit" name="submit" value="chek"/>
</form>
</body>
</html>
这个是没有问题的!
看了一下其他网友的代码,他们基本上是把这两个文件放在同一个路径下(apache解析路径),action的值为index.php,对于这一种方式,我试了一下,就发现点击按钮后竟然把index.php当坐一个文本来处理。
结果可想而知,什么都没有,空白!不知道是不是我火狐浏览器设置了啥!
第三问题(其实这应该是第一个问题)是当我把这两个文件还没有分开的时候,会出现一个问题,那就是php提前解析了导致了警告,非常影响用户体验。
附图:
虽然说点击chek后一切正常,但是这样的警告是不能存在的!
解决方案:
1、修改php.ini配置文件,error_reporting = E_ALL & ~E_NOTICE
2、在php页面顶部添加 error_reporting (E_ALL & ~E_NOTICE);
注意是放在<?php?>内哦!
就这样吧!