如何从post发送数据到Object类

时间:2016-11-21 15:20:23

标签: php oop object post

我一直在尝试将表单提交中的数据写入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&amp; $ EMAILADDRESS。如何在其他地方使用这些?

1 个答案:

答案 0 :(得分:2)

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

只需使用$this->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()会更好。

参考: