小白笔记web篇——html表单提交给PHP后不执行功能直接显示代码?
先直接说原因和解决:
原因一般是直接把自己在本地写的html当作网上的一般网页一样,直接双击打开了。代码没有经过Apache服务器,浏览器无法解析PHP代码,所以直接显示了代码(就和只有前端的html代码中出错会出现直接显示代码的情况一样)
解决:
文件放在localhost的文件夹内,地址栏手动输入打开html文件即可。
这是我在初识web时看一本XSS相关书中例子发现的问题(xss还没开始就已经遇到了问题。。。),在此之前我还只写过只有前端的html以及在慕课网上把php当简易版C语言来学,还没有前端和后端结合的经历。但是已经用phpstudy配置过环境,而且基本知道怎么做。
我这样应该算是最小白的情况了吧,所以有朋友要想搞懂这个情况,至少前端后端都要有最最基本的知识。
代码实例:
在文本框输入内容,将内容直接返回到页面。
html文件:
<html>
<head>
<title> xss</title>
</head>
<body>
<form action="xss.php"method="POST">
input:<br>
<input type="text" name="name" value=""></input>
<input type="submit" value="sub"></input>
</body>
</html>
php文件:
<html>
<head>
<title> result </title>
</head>
<body>
<?php
echo $_REQUEST["name"];
?>
</body>
</html>
原本这两个文件我都在桌面直接创建的,想都没想就双击打开html(甚至没有打开phpstudy来开服务器),提交后就直接返回了整个PHP源代码而没有执行它的功能。
然后我把它们放到localhost的文件夹下,启动phpstudy,地址栏输入localhost/…打开html文件,提交后能正常返回我输入的内容。而我到localhost的文件夹下直接双击打开html文件,也是不可以执行的。
初学者,基础还不牢固,说的比较片面,如果有错误,欢迎大佬们补充。