Форум программистов, компьютерный форум, киберфорум
JavaScript
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/86: Рейтинг темы: голосов - 86, средняя оценка - 4.83
 Аватар для __bool
288 / 229 / 27
Регистрация: 13.06.2010
Сообщений: 744

Форма с POST-запросом, добавить переменную в запрос

05.03.2012, 18:48. Показов 17388. Ответов 16
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем доброго времени суток.
К примеру такая форма:
HTML5
1
2
3
4
5
<form method="post" action="add_article.php"> 
    Заголовок:
    <input type="text" name="title" size="90" maxlength="50" value="">
    <input type="submit" name="btnAddArticle" value="Добавить">
</form>
Получаю данные:
PHP
1
2
3
4
<?php
if (isset($_POST['title'])) {$title = $_POST['title'];}
// Нужно еще получить $id
?>
Вопрос:
Как, помимо значений объектов формы, отправлять свои переменные в Post-запросе?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
05.03.2012, 18:48
Ответы с готовыми решениями:

Программно добавить переменную в POST запрос
Здравствуйте. Кто-нибудь подскажет, можно ли добавить в POST запрос переменную, сформированную не посредством какого-либо элемента формы...

Отправить переменную POST запросом
Как отправить переменную POST запросом, одновременно с загрузкой фото. Есть скрипт загрузки фото (function($){ var files; //...

Как добавить переменную в этом коде (Форма заказа php)
Доброго времени суток! делал все по шаблону вот с этой темы https://www.cyberforum.ru/php-beginners/thread895963.html получилось) ...

16
Эксперт PHP
5755 / 4134 / 1508
Регистрация: 06.01.2011
Сообщений: 11,276
05.03.2012, 18:52
__bool, можно с помощью скрытых INPUT'ов:
HTML5
1
<input type="hidden" name="skritiy_object" value="Это данные из скрытого инпута">
1
 Аватар для __bool
288 / 229 / 27
Регистрация: 13.06.2010
Сообщений: 744
06.03.2012, 00:20  [ТС]
Lyodik, Спасибо)
А есть способы решить следующую проблему?
Проблема:
Обработка данных формы происходит в отдельном php файле..
Action формы выполняет Post запрос, вызывая этот файл,
В результате отображается пустая страница, что вполне очевидно
Так вот.. Как бы сделать так, чтоб запрос отправлялся, но страница оставалась та что открыта?
Появилась мысль сделать редирект из php обратно.. но это не то..
0
 Аватар для allukard
307 / 218 / 70
Регистрация: 08.11.2010
Сообщений: 1,899
06.03.2012, 07:15
HTML5
1
2
3
4
5
6
<form method="post"> 
        Заголовок:
        <input type="text" name="title" size="90" maxlength="50" value="">
<input type="hidden" name="skritiy_object" value="<? $id ?>">
        <input type="submit" name="btnAddArticle" value="Добавить">
</form>
PHP
1
2
3
4
5
6
<?php
if(isset($_POST['sbtnAddArticle'])){
if (isset($_POST['title'])) {$title = $_POST['title'];}
// Нужно еще получить $id
}
?>
в одном файле
1
Эксперт PHP
5755 / 4134 / 1508
Регистрация: 06.01.2011
Сообщений: 11,276
06.03.2012, 10:21
Цитата Сообщение от __bool Посмотреть сообщение
Так вот.. Как бы сделать так, чтоб запрос отправлялся, но страница оставалась та что открыта?
Можно поместить код-обработчик и код с формой в один файл...
1
 Аватар для __bool
288 / 229 / 27
Регистрация: 13.06.2010
Сообщений: 744
06.03.2012, 11:11  [ТС]
Не понимаю, если обработчик будет в файле с формой, то он запустится при создании формы, требуется ведь при нажатии на кнопку, нужно как-то привязать php-обработчик к submit?

Добавлено через 2 минуты
Как должна выглядеть эта строка?
HTML5
1
<form name="frmAddArticle" method="post" action = "add_article.php" onsubmit = "return ValidFormFields(this)">
0
Эксперт PHP
5755 / 4134 / 1508
Регистрация: 06.01.2011
Сообщений: 11,276
06.03.2012, 11:31
Цитата Сообщение от __bool Посмотреть сообщение
Не понимаю, если обработчик будет в файле с формой, то он запустится при создании формы, требуется ведь при нажатии на кнопку, нужно как-то привязать php-обработчик к submit?
Всё верно, вам нужно делать в скрипте проверку, нажата ли кнопка "Submit". У вас в форме она имеет имя "btnAddArticle", значит обработчик нужно вот так подредактировать:
PHP
1
2
3
4
5
6
7
8
9
10
<?php
// Если нажата кнопка SUBMIT
if(isset($_POST['sbtnAddArticle']))
{
    if (isset($_POST['title']))
   {
        $title = $_POST['title'];
   }
}
?>
А, Макc уже и так уже вам дал то же, что и я...

Добавлено через 2 минуты
Цитата Сообщение от __bool Посмотреть сообщение
Как должна выглядеть эта строка?
Эта строка при условии, что в одном файле будет и обработчик и форма, должна выглядеть так:
HTML5
1
<form name="frmAddArticle" method="post" action = "" onsubmit = "return ValidFormFields(this)">
1
 Аватар для __bool
288 / 229 / 27
Регистрация: 13.06.2010
Сообщений: 744
06.03.2012, 15:22  [ТС]
Цитата Сообщение от Lyodik Посмотреть сообщение
нужно делать в скрипте проверку, нажата ли кнопка "Submit".
А где это делать? в JavaScript'e? Это возможно?
Ничего не понимаю, даже представить не могу.. php-сценарии выполняются на стороне сервера..т.е. чтоб их выполнить нужно полюбому отправить серверу запрос, исходя из этого вместо текущей страницы загрузится новая, которая является результатом запроса.

Объясните пожалуйста в чем я не прав?
Постараюсь понятнее описать задачу:
Открыта страница с формой.
Заполняю форму, жму кнопку "отправить"
в базу данных на MySQL сервере заносятся данные
Посредством JS очищаю форму, вывожу, сообщение об успешной операции.

Такой расклад реален, или это лишь моя фантазия?

Добавлено через 1 час 31 минуту
Или тут нужен ajax?
0
Эксперт PHP
5755 / 4134 / 1508
Регистрация: 06.01.2011
Сообщений: 11,276
06.03.2012, 15:31
Цитата Сообщение от __bool Посмотреть сообщение
А где это делать? в JavaScript'e?
Нет, я же указал в коде php это:
PHP
1
2
3
4
5
// Если нажата кнопка SUBMIT
if(isset($_POST['sbtnAddArticle']))
{
// Тут выполняем какой-то код
}
Добавлено через 31 секунду
Вот тут и проверяется...
0
 Аватар для __bool
288 / 229 / 27
Регистрация: 13.06.2010
Сообщений: 744
06.03.2012, 17:37  [ТС]
Так а где этот php-код то разместить?
Блин код на сервере выполняется, как он будет проверять, если событие нажатия кнопки происходит на стороне клиента.

Парни, чет вы меня с ума так сведете..

Добавлено через 1 минуту
Цитата Сообщение от Lyodik Посмотреть сообщение
Нет, я же указал в коде php это:
PHP
1
2
3
4
5
// Если нажата кнопка SUBMIT
if(isset($_POST['sbtnAddArticle']))
{
// Тут выполняем какой-то код
}
Добавлено через 31 секунду
Вот тут и проверяется...
Может вы хотите цикл на сервере бесконечный запустить чтоб он каждую милисекунду проверял или как?

Добавлено через 2 минуты
Цитата Сообщение от Lyodik Посмотреть сообщение
Нет, я же указал в коде php это:
Скажите уже наконец, если знаете, как php-код привязать к кнопке, конкретно, вот форма, вот кнопка, вот сюда код вставлять, а то выглядим как флудеры.
0
Благотворец
 Аватар для arvitaly
142 / 122 / 13
Регистрация: 29.04.2009
Сообщений: 537
06.03.2012, 17:38
Лучше использовать Ajax, к примеру JQuery

JavaScript
1
2
3
4
$('form').submit(function(){
$.post('/page/', $(this).serialize());
return false;
});
1
Веб-мастер
 Аватар для Maksimchikfull
89 / 89 / 19
Регистрация: 11.08.2011
Сообщений: 674
06.03.2012, 21:55
__bool,
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>PHP In PHP</title>
</head>
 
<body>
<?php
if(isset($_POST['submit'])){
    echo "<h4>Кнопка нажата!</h4><p>Какойже я глупый!</p>";
}
?>
<form action="" method="post">
<p>Нажмите на кнопку и смотрите выше. Выше должно появится сообщение сообщяющее о том что кнопка была нажата, и текст. Какойже я глупый!<input name="submit" type="submit" value="Нажать СЮДА"></p>
</form>
</body>
</html>
1
 Аватар для __bool
288 / 229 / 27
Регистрация: 13.06.2010
Сообщений: 744
06.03.2012, 22:17  [ТС]
Да не то это.
Я хотел, без перезагрузки страницы, тупо перезагрузить страницу и проверить нажата ли кнопка то давно ясно.
Я ведь составил последовательность действий, разве я указал, перезагрузить страницу и проверить была ли нажата кнопка?

Вообщем задача которую я поставил - фантастика.. поэтому, друзья, вы и не поняли о чем я)

Но все равно всем спасибо за советы!
0
Благотворец
 Аватар для arvitaly
142 / 122 / 13
Регистрация: 29.04.2009
Сообщений: 537
06.03.2012, 22:34
я же вам написал уже

JavaScript
1
2
3
4
5
6
7
8
$('form').submit(function(){
$.post('/page/', $(this).serialize(),function(){
 
alert('ДАННЫЕ ЗАНЕСЕНЫ!!!');
 
});
return false;
});
1
 Аватар для __bool
288 / 229 / 27
Регистрация: 13.06.2010
Сообщений: 744
06.03.2012, 23:48  [ТС]
Спасибо arvitaly, реализую отпишусь.. (с jquery пока не тороплюсь)
0
Эксперт PHP
5755 / 4134 / 1508
Регистрация: 06.01.2011
Сообщений: 11,276
07.03.2012, 07:40
Цитата Сообщение от __bool Посмотреть сообщение
с jquery пока не тороплюсь
А без jQuery у вас не получится реализовать вашу идею (отправить данные в php-скрипт без перезагрузки страницы).
0
Веб-мастер
 Аватар для Maksimchikfull
89 / 89 / 19
Регистрация: 11.08.2011
Сообщений: 674
11.03.2012, 11:46

Не по теме:

Подскажите мне, как в JS зафиксировать нажатие кнопки? Вот что делает submit()? То я пытался вот так:

JavaScript
1
document.getElementById('submit').submit(Register);



Вот таким образом можно сделать и посылать данные из формы на обработку с помощью AJAX. Но я чото не могу зафиксировать эту кнопку.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
11.03.2012, 11:46
Помогаю со студенческими работами здесь

Как добавить переменную в запрос?
Всем привет! Нужна помощь, допустим что есть переменная STR = 'python форум' и нужно ее вставить в запрос(открыть ссылку) и чтобы в запросе...

добавить переменную в sql-запрос
Имеем переменную $post_ip; Через echo она выдает 192.168.150.1 $query=sprintf(&quot;UPDATE user SET hash='&quot;.$hash.&quot;'...

MySQL: как в запрос добавить переменную?
Парни, просто не большой как в запрос update добавить переменную? Пример 1. : В этом примере все хорошо работает он делает как я...

Добавить в запрос переменную с именем таблицы
есть запрос вида: string sql = &quot;SELECT serial, name FROM table1&quot;; но у меня таблицы будут меняться на table2, table3 и т.д. в...

Контроллер принимает значение обрабатывает его, потом та же форма отправляет post Запрос на другой URL
Контроллер принимает значение обрабатывает его, потом та же форма отправляет post Запрос на другой URL, каким образом можно это реализовать?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
17
Ответ Создать тему
Новые блоги и статьи
Установка Emscripten SDK (emsdk) и CMake на Windows для сборки C и C++ приложений в WebAssembly (Wasm)
8Observer8 30.01.2026
Чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. Система контроля версиями Git. . .
Подключение Box2D v3 к SDL3 для Android: физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
Влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru