我一直在尝试将表单提交中的数据写入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。如何在其他地方使用这些?
答案 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()
会更好。参考: