可以通过php设置$ _POST变量来将数据传递给表单元素

rmm*_*oul 1 php mysql post

场景:

我已经制作了一个包含大量输入和下拉选项的长形式,我已经设置它以检查表单是否已经提交并返回(由于错误等)并使用php来回应价值回到适当的输入.就像是:

<input type="text" id="firstname" name="firstname" maxlength="60" value="<?php if(isset($_POST['submit'])){ echo trim($_POST['firstname']);} ?>">
Run Code Online (Sandbox Code Playgroud)

提交表单后,它将进入数据库.现在我需要设计一种方法让用户再次返回并编辑信息,而不是构建一个全新的页面来从数据库读取数据并在首次加载表单时回显它,然后回显$ _POST数据如果表单已提交但返回有错误,我想使用相同的表单,当页面加载时,检查数据库以查看当前登录用户是否有任何条目,如果是,请设置$ _POST变量到db中的值.

我写了一个快速测试表,并知道这是可能的,但是想知道为此设置$ _POST变量是否被认为是不合适的.我写的测试代码看起来像:

$query = "SELECT * FROM userprofiles WHERE uid = '$uid'";

        $result = mysql_query($query);

        if(mysql_num_rows($result) <= 0)
        {
            mysql_close(); //no info in db for user. Yet...
        }
        else
        {
            $data = mysql_fetch_array($result);
            $_POST['submit'] = true; 
            $_POST['firstname'] = $data['firstname']; //and so on...
Run Code Online (Sandbox Code Playgroud)

这样我就可以使用相同的表单而无需修改大量代码,并构建新页面.

Pee*_*Haa 6

我不会手动设置$ _POST变量.

如果其他人会看到你的代码他们将会像:WTF那些值来自???

$_POST超全局是POST数据.保持这种方式.

  • @klael`当涉及到代码时,一切都是公平的,只要它有效.不,你不能错.编码不只是让它工作.这种心态是我看到许多难以维护,不可行,不可行的代码的原因. (4认同)
  • 真的太糟糕了,你不能低估评论. (2认同)
  • @PeeHaa我同意你的看法.牛仔程序员的一个标志是试图变得聪明,而不是在需要维护自己的代码时,或者其他人可能必须维护所述代码.最好是重视清晰度和可理解性,而不是聪明. (2认同)