猿问

html提交表格,为什么用post无法跳转php,但是用get就可以

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>1-13demo注册</title>
</head>
<body>
<form action="1-13练习.php" method="post">
    <table>
        <tr align="right">
            <td>名称:</td>
            <td><input type="text" name="username" placeholder=""></td>
        </tr>
        <tr align="right">
            <td>密码:</td>
            <td><input type="password" name="password" placeholder=""></td>
        </tr>
        <tr align="right">
            <td>邮箱:</td>
            <td><input type="email" name="email" placeholder=""></td>
        </tr>
        <tr>
            <td><input type="submit" value="提交"></td>
            <td><input type="reset" value="重置"></td>
        </tr>
    </table>
</form>
</body>
</html>

以上这段代码单独用html保存,文件名“1-13demo.html”

<?php
header('content-type:text/html;charset=utf-8');
echo '名称:',$_POST['username'],'<br/>';
echo '密码:',$_POST['password'],'<br/>';
echo '邮箱:',$_POST['email'],'<br/>';

这段代码单独用php文件保存,文件名“1-13练习.php”

现在的问题是:1-13demo.html文件运行,然后输入名称、密码以及邮箱后,按提交,是无法保存并到1-13练习.php进行输出,会显示404 Not Found。但是如果我html的form标签中method选择用“get”,然后php对应使用$_GET,则html提交时候能成功转跳php进行输出。

为什么使用POST会失败?我见“PHP零基础小白入门”常量的1-11视频中,老师使用post是可以成功的,求知道的老师解答一下,谢谢!

wilson1005
浏览 1374回答 1
1回答

pardon110

GET的请求的数据会附加在URL之后,以。分隔URL和传输数据,多个参数用&连接。URL编码格式采用的是ASCII编码,而不是Unicode,即所有的非ASCII字符都要编码之后再传输。 POST方式将表单内各个字段和内容放置在HTML HEADER中一起传送到Action属性所指定的URL地址,用户是看不到这个过程的。建议你action属性路径中不要用中文,不能确定你的运行环境是否与视频中完全一致。
随时随地看视频慕课网APP
我要回答