Как использовать Setter и Getter с массивами в PHP - PullRequest
0 голосов
/ 05 февраля 2019

У меня проблемы с использованием массивов с геттерами и сеттерами в php.Мой класс работает нормально, если не массив.Моя идея состоит в том, чтобы вставить более одного номера телефона из формы HTML.Идентификатор пользователя вставлен, но телефон пуст.Любая помощь будет оценена.Заранее спасибо.

HTML:

<input type="text" id="form-field-1-1" placeholder="Text Field" name="telefone[]" class="col-xs-10 col-sm-5" />

<input type="text" id="form-field-1-1" placeholder="Text Field" name="telefone[]" class="col-xs-10 col-sm-5" />     

-------------- КЛАСС PHP ----------

class Telefone {
    private $telefone = array();
    public function getTelefone() {
        return $this->telefone;
    }
    public function setTelefone($telefone) {
        $this->telefone[] = $telefone;
    }
}

------- ПОСЛЕДСТВИЯ КОНТРОЛЛЕРА ---------

$inserirDados = new AgendaEventoDAO();

$tlfn = new Telefone();

$tlfn->setTelefone($_POST['telefone'] ? trim($_POST['telefone']) : '');

if($inserirDados->inserirTelefone($tlfn,$usuario)){

    print "Telefone do Agendamento Inserido com sucesso!";

}

-------- DAO -----------------------------

public function inserirTelefone(Telefone $tlfn, SiteUserInfo $usuario) {

    $connection = new cnx();
    $connection->connect();
    $telefon = $tlfn->getTelefone();
    $ce_usuario = $usuario->getUser_id();


    foreach ($telefon as $telefone) {
        $stmt = $connection->myconn->prepare("INSERT INTO tbltelefone_agenda (telefone_agenda,ce_agenda_evento) VALUES (?,?)");            
        $stmt->bind_param("ii", $telefone,$ce_usuario);
        $stmt->execute();
        $stmt->close();
        $connection->close();
        echo("<script>console.log('PHP: Telefone inserido com sucesso!');</script>");
        return $stmt;

    }

}

1 Ответ

0 голосов
/ 05 февраля 2019

$_POST['telefone'] - это массив, поэтому вам нужно перебрать его с вызовом метода установки.

foreach ($_POST['telefone'] as $tel) {
    if ($tel) {
        $tlfn->setTelefone(trim($tel));
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...