从以下html
开始,文字字段中的数据由action_script.php
提供:
<form method='post' action='action_script.php'>
<input type='text' name='text_field' id='text_field' />
<input type='submit' value='submit' />
</form>
action_script.php
包含以下代码:
<?php
class Tester {
private $text_field;
public function __construct() {
$text_field = $_POST['text_field'];
}
public function print_data() {
echo $text_field; # LINE NUMBER 10
}
}
$obj = new Tester();
$obj->print_data();
我尝试从action_script.php
中的html打印发送的数据但是我收到以下警告/错误:
Notice: Undefined variable: text_field in E:\Installed_Apps\xampp\htdocs\php\action_script.php on line 10
为什么?
答案 0 :(得分:5)
在课堂内,您必须使用$this->
来引用您的会员属性,例如
<?php
class Tester {
private $text_field;
public function __construct() {
$this->text_field = $_POST['text_field'];
}
public function print_data() {
echo $this->text_field; # LINE NUMBER 10
}
}
$obj = new Tester();
$obj->print_data();
您还应该在使用之前检查$_POST['text_field']
是否已设置
答案 1 :(得分:4)
我正在使用$
语句,但是仍然存在相同的问题,然后我发现所调用的变量一定不能带有$this->$text_field;
符号,如上面的某些用户所述。
例如,不能这样:
$this->text_field;
这是正确的方法:
max()
答案 2 :(得分:2)
应该是 -
echo $this->text_field;
在您的print_data
方法中,也在您的所有其他方法中......
使用$this
关键字访问成员属性和功能。