Heim > Backend-Entwicklung > PHP-Tutorial > html - php 获取表单数据

html - php 获取表单数据

WBOY
Freigeben: 2016-06-06 20:20:26
Original
1472 Leute haben es durchsucht

我有两个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>
Nach dem Login kopieren
Nach dem Login kopieren

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>
Nach dem Login kopieren
Nach dem Login kopieren

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

<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>
Nach dem Login kopieren
Nach dem Login kopieren

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>
Nach dem Login kopieren
Nach dem Login kopieren

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>
Nach dem Login kopieren
Nach dem Login kopieren

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

<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>
Nach dem Login kopieren
Nach dem Login kopieren

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);

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage