html表单提交给PHP然后浏览器显示出了PHP的源代码

今天学习到PHP处理网页表单提交的数据时,碰到一个巨头疼的问题,先贴上案例代码:

html表单部分:

<form action="exercise02.php" method="POST">
		<p>
			<label>用户名:</label>
			<input type="text" name="username">
		</p>
		<p>
			<label>密码:</label>
			<input type="password" name="password">
		</p>
		<p>
			<label>确认密码:</label>
			<input type="password" name="repassword">
		</p>
		<p>
			<label>性别:</label>
			<input type="radio" value="男" name="gender">男
			<input type="radio" value="女" name="gender" checked="checked">女
		</p>
		<p>
			<label>兴趣爱好</label>
			<input type="checkbox" name="interest[]" value="弹琴">弹琴
			<input type="checkbox" name="interest[]" value="画画">画画
			<input type="checkbox" name="interest[]" value="书法">书法
			<input type="checkbox" name="interest[]" value="围棋">围棋
		</p>
		<p>
			<input type="submit" name="submit" value="注册">
		</p>
	</form>

php处理表单数据部分:

<?php 
	header('Content-type:text/html; charset=utf-8');
	// 获取注册页面中用户提交的信息
	if ($_SERVER['REQUEST_METHOD'] == 'POST') {
		$username = $_POST['username'];
		$password = $_POST['password'];
		$gender = $_POST['gender'];
		$interest = $_POST['interest'];
		echo "用户名: ".$username.'<hr>';
		echo "密码: ".$password.'<hr>';
		echo "性别: ".$gender.'<hr>';
		echo "兴趣爱好: ".implode('、 ', $interest).'<hr>';
		exit;
	}
 ?>

当我按照习惯方式打开html页面输入信息提交后,显示出了php的源代码而不是处理结果:


看了看度娘类似问题后,突然灵光闪现,想起我的html页面是直接在sublime右键浏览器打开的,这样就导致了整个处理过程并没有经过Apache服务器,也就没有用到php,浏览器自己无法解析php代码,所以直接显示出了源代码。

想要正常执行,还是得在浏览器地址栏手动输入localhost……的文件路径,让Apache的PHP程序去解析php的代码才能正常处理,不能偷懒直接运行html页面,当然从文件夹里直接打开html文件也是不行的啦。改正后,处理结果截图如下(注意地址栏中的路径和上图对比,上图是本地文件服务器的路径,下图才是Apache服务器的正确路径)


相信像我这样的有点前端基础的后端初学者应该大部分会遇到这个问题吧,看见html页面总想直接打开看效果,而跳过了服务器,以后还是得把思想转变过来啊!!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:技术黑板 设计师:CSDN官方博客 返回首页
评论 9

打赏作者

php小学一年级生

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值