0

我收到一条错误消息:注意:未定义变量:在第 4 行提交。我不知道为什么,因为我已经使用提交按钮定义了它?有人可以解释为什么吗?真的看不出这里的问题。

<?php

                if($submit)
                {
                $sql = "INSERT INTO personnel (first, last, username, department, email) VALUES ('$first','$last','$username','$department','$email')";
                $add = mysql_query($sql);
                echo "<div class='confirmation-box round'>Thank you! New user have been added</div>";
                }
                else
                {
                ?>
                <form method="post" action="useradd.php">

                    <fieldset>

                    <p>
                        <label for="simple-input">Firstname</label>
                        <input type="text" id="first" name="firstname" class="round default-width-input" />
                    </p>
                    <p>
                        <label for="simple-input">Lastname</label>
                        <input type="text" id="last" name="lastname" class="round default-width-input" />
                    </p>
                    <p>
                        <label for="simple-input">Username</label>
                        <input type="text" id="username" name="username" class="round default-width-input" />
                    </p>
                    <p>
                        <label for="simple-input">Department</label>
                        <input type="text" id="department" name="department" class="round default-width-input" />
                    </p>
                    <p>
                        <label for="simple-input">Email</label>
                        <input type="text" id="email" name="email" class="round default-width-input" />
                    </p>
                        <input type="Submit" name="submit" class="button round blue image-right ic-add text-upper" value="Add">

                    </fieldset>

                </form>
                <?php
                }
                ?>

(对不起愚蠢的问题,有点新的PHP)

4

5 回答 5

2

这是一个典型的老派register_globals使用案例。它决定是否将 EGPCS(环境、GET、POST、Cookie、服务器)变量注册为全局变量。没有人再这样做了。

将其更改为:

if (!empty($_POST['submit'])) {
于 2013-02-01T07:14:20.697 回答
0

我不知道为什么,因为我已经用提交按钮定义了它

不,你没有。

其中的第一个实例$submitif($submit)指:

If $submit is TRUE

...$submit以前从未定义过。

于 2013-02-01T07:18:30.247 回答
0

您可以使用

if(isset($_POST['submit']))
{
//code goes here
}
于 2013-02-01T07:19:03.583 回答
0

您需要使用以下代码检查帖子

if(isset($_POST['submit']))
{
//Here will be your code
}

试试这个

And good practice to give proper name to submit button. Ex. 'cmdSubmit'

Best luck

于 2013-02-01T07:25:04.917 回答
0

Its a warning not an error. You can just declare the varible with empty value or some default value.

于 2013-02-01T07:26:36.467 回答