Добрый вечер. Подскажите, пожалуйста, почему не передаются данные методом POST из модального окна? Все переменные пустые. Вот код формы: HTML: <div class="modal" aria-hidden="true"> <div class="modal-dialog"> <div class="modal-header"> <FORM ACTION="add.php" METHOD="POST" onsubmit="return validate_form(this)"> <h2>Добавить ссылку:</h2> </div> <div class="modal-body"> <p><input type="text" name="name1" value="" disabled="disabled" /></p> <p><input type="text" name="name2" /></p> <p><input type="text" name="name3" /></p> <p><TEXTAREA NAME="name4" COLS=45 ROWS=5 style="resize: none;" /></TEXTAREA></p> </div> <div class="modal-footer"> <button type="submit">Добавить</button> <button class="closemodal">Закрыть</button> </div> </FORM> </div> </div> <script src="popup.js"></script> <script src="validate.js"></script> а вот сам файл add.php: PHP: $id1 = isset($_POST["name1"]); $id2 = strip_tags(stripslashes(isset($_POST["name2"]))); $id3 = strip_tags(stripslashes(isset($_POST["name3"]))); $id4 = strip_tags(stripslashes(isset($_POST["name4"]))); echo $id1; echo $id2; echo $id3;
а почему бы вам не сделать такую функцию Спойлер: код PHP: function clearInput($data) { $data = trim($data); $data = stripslashes($data); $data = htmlspecialchars($data); return $data; } и почему у вас в форме html метод и действие записано большими буквами?
isset возвращает логическое значение в данном случае отражающее было ли передано поле формы или нет. Оно пригодно для условий, но оно не содержит значения данного поля. PHP: $id2 = isset($_POST["name2"]) ? strip_tags(stripslashes($_POST["name2"])) : '';
@amberson, огромное спасибо! Так действительно работает. Остается разобраться с первой переменной, которая так и не хочет отображаться в add.php, хотя в самой форме я её вижу. Не подскажите, как её передать в php?
@Flip, пожалуйста! С переменной name1 точно так же можно поступить, только убрав из html кода блокировку поля формы (disabled), иначе переменная не уйдет на сервер. HTML: <p><input type="text" name="name1" value="" /></p> PHP: $id1 = isset($_POST["name1"]) ? $_POST["name1"] : '';
Атрибут disabled: Блокирует доступ и изменение поля формы.....Заблокированное в поле значение не передается на сервер. Как же это я так? Здорово, всё отлично работает! @MixazZz, @amberson спасибо вам огромное за помощь!