>백엔드 개발 >PHP 튜토리얼 >html - php 获取表单数据

html - php 获取表单数据

WBOY
WBOY원래의
2016-06-06 20:20:261465검색

我有两个php问件
其中
add.php:

<code><form action="action.php?action=add" method="post">
    <table>
        <tr>
            <td>姓名</td>
            <td>
                <input type="text" name="name">
            </td>
        </tr>
        <tr>
            <td>性别</td>
            <td>
                <input type="radio" name="sex" value="w">男
                <input type="radio" name="sex" value="n">女
            </td>
        </tr>
        <tr>
            <td>年龄</td>
            <td>
                <input type="text" name="arge">
            </td>
        </tr>
        <tr>
            <td>班级</td>
            <td>
                <input type="text" name="classId">
            </td>
        </tr>
        <tr>
            <td> </td>
            <td>
                <input type="submit" value="提交">
                <input type="reset" value="重置">
            </td>
        </tr>
    </table>
</form></code>

action.php:

<code>switch($_GET['action']){
    case "add":
        $name = $_POST['name'];
        $sex = $_POST['sex'];
        $arge = $_POST['arge'];
        $classId = $_POST['classId'];
        $sql = "insert into students VALUES (NULL ,'{$name}','{$sex}','{$arge}','{$classId}')";
        $rw = $pdo->exec($sql);
        if($rw>0){
            echo "<script>alert('添加成功');window.location='index.php'</script>";
        }else{
            echo "<script>alert('添加失败');window.history.back();</script>";
        }
    break;
}</code>

提交数据时为什么会报如下错误:

<code>Notice: Undefined index: name in /Applications/XAMPP/xamppfiles/htdocs/studentsManager/action.php on line 16

Notice: Undefined index: sex in /Applications/XAMPP/xamppfiles/htdocs/studentsManager/action.php on line 17

Notice: Undefined index: arge in /Applications/XAMPP/xamppfiles/htdocs/studentsManager/action.php on line 18

Notice: Undefined index: classId in /Applications/XAMPP/xamppfiles/htdocs/studentsManager/action.php on line 19
</code>

name sex arge classId 不是都有么 为何还时 未定义??

回复内容:

我有两个php问件
其中
add.php:

<code><form action="action.php?action=add" method="post">
    <table>
        <tr>
            <td>姓名</td>
            <td>
                <input type="text" name="name">
            </td>
        </tr>
        <tr>
            <td>性别</td>
            <td>
                <input type="radio" name="sex" value="w">男
                <input type="radio" name="sex" value="n">女
            </td>
        </tr>
        <tr>
            <td>年龄</td>
            <td>
                <input type="text" name="arge">
            </td>
        </tr>
        <tr>
            <td>班级</td>
            <td>
                <input type="text" name="classId">
            </td>
        </tr>
        <tr>
            <td> </td>
            <td>
                <input type="submit" value="提交">
                <input type="reset" value="重置">
            </td>
        </tr>
    </table>
</form></code>

action.php:

<code>switch($_GET['action']){
    case "add":
        $name = $_POST['name'];
        $sex = $_POST['sex'];
        $arge = $_POST['arge'];
        $classId = $_POST['classId'];
        $sql = "insert into students VALUES (NULL ,'{$name}','{$sex}','{$arge}','{$classId}')";
        $rw = $pdo->exec($sql);
        if($rw>0){
            echo "<script>alert('添加成功');window.location='index.php'</script>";
        }else{
            echo "<script>alert('添加失败');window.history.back();</script>";
        }
    break;
}</code>

提交数据时为什么会报如下错误:

<code>Notice: Undefined index: name in /Applications/XAMPP/xamppfiles/htdocs/studentsManager/action.php on line 16

Notice: Undefined index: sex in /Applications/XAMPP/xamppfiles/htdocs/studentsManager/action.php on line 17

Notice: Undefined index: arge in /Applications/XAMPP/xamppfiles/htdocs/studentsManager/action.php on line 18

Notice: Undefined index: classId in /Applications/XAMPP/xamppfiles/htdocs/studentsManager/action.php on line 19
</code>

name sex arge classId 不是都有么 为何还时 未定义??

你后面的错误是你 单独 在地址栏中打开 你的 action.php?action=add的时候显示的吧?
当你单独在浏览器中直接打开你的action.php?action=add的时候, 它是以GET的方式请求的, 而且不会有POST的数据过去, 所以你这个时候, 去取$_POST['xxx'] PHP 会有一个 Notice 的提示(在允许显示的情况下).

正常从你的 add.php 点按钮(有填写页数据的情况下), 是没有报你说的那个问题的.

  • -问题没发现,倒是发现第一次看到case可以这样用的,就不怕出错么?

form 没有设置encoding 属性。

encoding='application/x-www-form-urlencoded'

这样吧。你先var_dump($_POST);

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.