我正在获取有关如何使用名为“ receive_data.php”的PHP文件中的FORM数据来验证POST请求的信息(POST已经通过验证)。然后,我将使用“ receive_data.php”已验证的数据,然后将其发送到另一个名为“ Data_base.php”的PHP文件,以导出到文本文件。因此,基本上,我想知道如何使用class Database
在另一个PHP文件中使用一个PHP文件中的变量。
我所拥有的片段:
Recieve_data.php
if (isset($_POST)) {
$userName = getField('username');
$userAge = getField('age');
$userEmail = getField('email');
$userPhone = getField('phone');
}
function getField($fieldName)
{
if (isset($_POST[$fieldName])) {
return trim($_POST[$fieldName]);
}
return '';
}
if (isset($_POST['username'])) {
if (!ctype_alpha($_POST['username']) || (strlen($_POST['username']) < 2) || (strlen($_POST['username']) > 100)) {
send_error($response400, $message3);
}
} //Data checked if POST and validated unsure how to use in another php file
我用过include "recieve_data.php";
,但似乎无法访问$userName
中的data_base.php
,更不用说上课了。
答案 0 :(得分:2)
如果要在Database
类中使用变量,则可以使用构造函数。
示例data_base.php
:
class Database {
function __construct($username, $age, $email, $phone)
{
$this->username = $username;
$this->age = $age;
$this->email = $email;
$this->phone = $phone;
}
public function someFunction() {
echo "Username: ".$this->username;
}
}
现在,您可以像这样创建Database
类的实例:
$database = new Database("Foo", 19, "foo@example.com", 1234567);
现在您可以在班级中的任何地方使用数据。
例如:
public function someFunction() {
echo "Username: ".$this->username; //output: "Foo"
}
此调用将采用您在新实例中传递的用户名(在本例中为“ Foo”)。
编辑:例如,您不能在静态上下文中使用$this->username
。
所以
public static function someOtherFunction() {
echo "Age: ".$this->age;
}
不起作用!在这种情况下,您必须使用getter和setter方法。