1

私はコードと戦っています:

$worker = new Worker(); // :|
$worker->addWorker;
//testing                   
//testing
// $_SESSION['worker']->addWorker();
echo $_POST['name'];
echo $worker->name;

最後の2行に同じ値が表示されるはずです。クラスのassignメソッドは次のようになります。

public function addWorker()
{
      $this->name = $_POST['name'];
      $this->surname = $_POST['surname'];
      $this->dob = $_POST['dob'];
      $this->skills = $_POST['skills'];
      $this->postcode = $_POST['postcode'];
      $this->street = $_POST['street'];
      $this->email = $_POST['email'];
      $this->tel = $_POST['tel'];
      $this->erefnumber = $_POST['erefnumber'];
}

宣言されたクラスWorkerプロパティがあります。問題は、エラーがないことです。$worker->nameは何でも表示します。echo $_POST['name']は正常に機能します。

4

1 に答える 1

4

あなたのコードはほとんど問題ありませんが、あなたはそうします:

$worker->addWorker;

あるべきですが:

$worker->addWorker();

また、コードの可読性を向上させるためaddWorker()に、配列引数を要求するように変更することを検討します。

public function addWorker( array $postArray ) {
    $this->name = $postArray['name'];
    ....

$_POST呼び出し中に通過します:

$worker->addWorker( $_POST );
于 2012-12-02T15:32:04.030 に答える