Аватар для __bool
288 / 229 / 27
Регистрация: 13.06.2010
Сообщений: 744

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

05.03.2012, 18:48. Показов 17423. Ответов 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
Ответ Создать тему
Опции темы

Новые блоги и статьи
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru