MAMP下HTML+PHP货币转换器提交报URL未找到如何解决
问题定位与修复方案
直接导致404错误的核心原因
表单提交后返回URL不存在的错误,根源是表单配置和文件存放规则不匹配:
- 表单标签的
action属性明确指定提交地址为currencyconvertor.php,但你当前的实现是把前端表单和PHP处理逻辑写在同一个文件中,只要你当前保存的文件名称不是currencyconvertor.php,或者该文件没有放在MAMP的网站根目录对应路径下,Apache服务器就找不到目标文件,直接返回404。
对应修复方法二选一即可
- 保留单文件结构:直接修改form标签的
action属性值为空,或者直接删除action属性,表单默认就会提交到当前页面,无需跳转找其他文件,修改后标签写法如下:<form align="center" action="" method="post"> - 拆分前后端逻辑:如果确实要把PHP处理逻辑单独存为
currencyconvertor.php,需要确认两个文件都放在MAMP默认的网站根目录(一般是安装目录下的htdocs文件夹)的同一级路径下,文件名拼写、大小写完全一致,不要出现currencyconverter.php(字母顺序写错)、CurrencyConvertor.php(首字母大写)这类拼写偏差。
修复404后还需要处理的其他问题
你贴的代码里还有几处会导致功能异常的问题,需要同步修正:
- 多处判断条件的字符串引号不配对:比如
$cur1=="AUD" AND $cur2=="INR"、$cur2=="PHP"、$cur2=="JPY"这类判断里,部分字符串的右引号和左引号格式不统一,会触发PHP语法解析错误,需要把所有字符串的前后引号都统一为英文半角双引号。 - 现有转换逻辑覆盖不全:目前只实现了AUD、USD两种源货币转JPY/INR/PHP的规则,如果用户选择反向兑换(比如JPY转USD),页面不会输出任何结果,建议补全对应汇率规则,或者增加无匹配兑换规则的提示。
- 提交按钮显示文本有拼写错误:
CovertNow正确拼写为ConvertNow,属于显示问题不影响功能,可自行修正。 - 访问规则注意:测试页面时必须通过
http://localhost/你的文件名.php的形式访问,不要直接双击php文件用file:///本地路径打开,否则PHP代码不会被服务器解析,功能无法正常运行;同时要确认MAMP的Apache、PHP服务处于正常启动状态。
内容的提问来源于stack exchange,提问作者nadia.shim
相关产品推荐
相关产品推荐

