【问题标题】:How to grab data from post to a class Object如何从帖子中获取数据到类对象
【发布时间】:2016-11-21 15:20:22
【问题描述】:

我一直在尝试将表单提交中的数据写入 PHP 类对象。我正在使用以下基本提交表单。

<html>
<body>
<h2>Form Submit</h2>
<form action='object_of_array2.php' method='POST'/>
<input type="text" name='first_name' value=''/><br/>
<input type="text" name='last_name' value=''/><br/>
<input type="text" name='email_address' value=''/><br/>
<input type='Submit' name='submit' value='GO'/>
</form>
</html>
</body>

我找到了之前的一篇文章,How to grab data from post to a class。这适用于我的提交表单。

    <?PHP
class RegisterUser {
    private $firstName;
    private $lastName;
    private $emailAddress;

    function __construct() {
        $this->firstName = isset($_POST['first_name']) ? $_POST['first_name'] : null;
        $this->lastName = isset($_POST['last_name']) ? $_POST['last_name'] : null;
        $this->emailAddress = isset($_POST['email_address']) ? $_POST['email_address'] : null;
    }

    function start() {
        if (empty($this->firstName) || empty($this->lastName) || empty($this->emailAddress)) {
            echo "Empty Post not allowed";
        }
        else
        {
            // Do some stuiff
            echo " Registration Done";
        }
    }
}

$register = new RegisterUser();
if(!empty($_POST))
{
    $register->start();
}
?>

我正在尝试找出如何回显 $firstname、$lastname 和 $emailaddress。如何访问这些以在其他地方使用?

【问题讨论】:

  • “我怎样才能访问这些以在其他地方使用?” - 你将不得不详细说明这一点。
  • 这是非常琐碎的东西;只是回应成功。我会发布一个答案,但不知道你想用它来做什么,这让我犹豫了。你对我的cmets的沉默也增加了我的犹豫。我希望你喜欢阅读我给你的那些链接,里面有很多好东西。
  • 感谢 Fred,我指的是使用变量写入 MySQL。
  • 欢迎...只需在您的// Do some stuiff 中回显$this-&gt;firstName 等,然后插入到数据库中,如果您想这样做。可能还有其他方法,但这是快速而肮脏的方法。

标签: php oop object post


【解决方案1】:

这是一种快速而肮脏的方法,因为您想将值写入数据库,正如您在 cmets 中所述:“谢谢 Fred,我指的是使用变量写入 MySQL。 "

只需使用$this-&gt;propertyName 并将它们中的每一个分配给一个变量。

else
        {
            // Do some stuiff
            echo " Registration Done" . "<br>";

    $var1 = $this->firstName;
    $var2 = $this->lastName;
    $var3 = $this->emailAddress;


    echo $var1 . " " . $var2 . " " . $var3;

    // write to database here using the assigned variables

    }

注意:

写入数据库将是完全不同的事情,并且超出了问题的范围。

请记住在插入时使用准备好的语句,以帮助防止 SQL 注入。

关于使用isset()的旁注。

在使用单选按钮/复选框时,通常最好使用isset()

  • empty() 在涉及用户输入时更好。

参考:

【讨论】:

  • 非常感谢!我正在使用 $register -> firstname...等等。使用两者或你的建议工作!
猜你喜欢
  • 2022-01-18
  • 1970-01-01
  • 2022-01-13
  • 1970-01-01
  • 2018-09-09
  • 2018-03-05
  • 1970-01-01
  • 2019-09-01
  • 1970-01-01
相关资源
最近更新 更多