Удаление пользовательской функции SQL-запрос ничего не отправляет (PHP) - PullRequest
0 голосов
/ 20 мая 2019

Итак, в основном у меня есть функция в PHP, которая удаляет пользователя из той же строки, когда форма отправляется, форма отправляет, функция выполняет свою функцию, но пользователь не удаляется.

 $html = '';
    $html .= '<table><form method="post" action="index.php?controller=user&action=delUser">';
    foreach( $auser as $user) {
        $html .= '<tr><td><input type="hidden" value="'.$user['id'].'"><input type="submit" name="delUserSubmit" value=""> '.$user["id"].' '.$user["voornaam"].' '.$user["tv"].' '.$user["achternaam"].'</td></tr>';
    }
    $html .= '</form></table>';

    return $html;
}

Таким образом, в этой форме он отправляет идентификатор через скрытое поле ввода, в котором содержится идентификатор пользователя

public function delUser()
{
    if(isset($_POST['delUserSubmit'])) {
        $sql = "DELETE FROM user WHERE id = ".$_POST['id'];
        $this->oDb->insUpdDelQuery($sql);
        unset($_POST);
        header("Location: index.php?controller=user&action=show");
    }
}

Когда он достигает вышеуказанной функции, он проходит через isset $ _POST и т. Д. Поскольку каждый раз, когда я отправляю форму, я перехожу на страницу, на которую указывает заголовок.

Но когда он достигает страницы пользователя, пользователь все еще там. Теперь проблема может быть:

  1. Я на самом деле не посылаю идентификатор

  2. Я отправляю идентификатор, но $ sql как-то не получает идентификатор? функция delUser() пуста, тогда как что-то вроде show($id=null) показывает всех пользователей.

  3. delUser() нужно что-то вроде $_POST['id'], но это дало бы неожиданные символы в моем редакторе.

Не можете это исправить, кто-нибудь может помочь?

Ответы [ 2 ]

0 голосов
/ 20 мая 2019

Вы не установили ничего в поле from в $ _POST ['id'].Имя размещенного элемента берется из name в html-форме.Тег ввода со значением id должен иметь имя, установленное в id:

<input type="hidden" value="'.$user['id'].'" name="id">
0 голосов
/ 20 мая 2019

Значения POST отправляются с использованием атрибута name в поле input.

Измените ввод HTML на

<input type="hidden" name="id" value="'.$user['id'].'">
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...