Форум программистов, компьютерный форум, киберфорум
PHP: базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.94/103: Рейтинг темы: голосов - 103, средняя оценка - 4.94
 Аватар для Сергей1980
547 / 377 / 16
Регистрация: 17.12.2009
Сообщений: 991

Передача переменных из input в php

27.08.2012, 14:10. Показов 20979. Ответов 16
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Уважаемые единомышленники, привет!
Осваиваю php+html.
Возник вопрос по инициализации переменных и передача их в запрос mysql_query(........)
Представим что есть всего 4 поля:
1) КодОтправки (счетчик, проставляется автоматически при выполнении запроса на добавлении в MySQL)
1) УбытиеАвто (дата)
2)ПрибытиеАвто (дата)
3) НомерАвто (текст)

Есть страничка где нужные для заполнения поля выражены следующим образом:

HTML5
1
2
3
4
5
6
7
8
9
10
<form>
<table>
.....
<input type="date" name="УбытиеАвто"/>
<input type="date" name="ПрибытиеАвто "/>
<input type="text" name="НомерАвто "/>
.....
</table>
<input type="submit"...>
</form>

Ребят, что то подзапутался слегка, перехожу с объектного VBA на PHP. Как передать переменную из полей формы на сервер. Куда и как запихнуть запрос типа
SQL
1
INSERT INTO 'table1' (поле1, поле2,поле3) VALUES (переменная1,переменная2,переменная3)
Как выдернуть из <input> переменные и воткнуть их в запрос. По имени передавать значение или по ссылке. Желательно это провернуть без создания дополнительной странички, а прямо в этой же дописать кодик по типу:

PHP
1
2
3
4
5
<?php 
{
mysql_query(.....);
}
?>
Как вставить значение переменных из <input> в запрос запускаемый из php?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
27.08.2012, 14:10
Ответы с готовыми решениями:

Передача массива из input PHP + AJAX
Приветствую! Передаю массив из формы через ajax &lt;script type=&quot;text/javascript&quot;&gt; function saveopt() { var id =...

Передача переменных с js в php
Помогите, пожалуйста, есть регистрационный сайт, на нём заполняются формы. Далее эти формы обрабатывает js. И мне как-то нужно передать...

Передача переменных php
Здравствуйте. Есть следующий код: ... &lt;form method=&quot;post&quot; action=&quot;get_table.php&quot; name=&quot;main_form&quot; onsubmit=&quot;return...

16
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
27.08.2012, 14:15
во первых у формы должен быть указан метод передачи - post или get. а во-вторых.. щас

Добавлено через 1 минуту
почитайте вот это Значение value из input добавить в БД
1
 Аватар для Сергей1980
547 / 377 / 16
Регистрация: 17.12.2009
Сообщений: 991
27.08.2012, 14:37  [ТС]
Спасибо за перенос темы. Но что то не могу осилить, слишком много новой информации. Мне собственно всего одну запись добавить надо с формы.

Вот такой вариант не прокатит?:

PHP
1
2
3
4
5
<?php
{
mysql_query("INSERT INTO 'table1' ('поле1','поле2','поле3') VALUES ($_POST['имя_поля_инпут_1',$_POST['имя_поля_инпут_2', $_POST['имя_поля_инпут_3' ]");
}
?>
...
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
27.08.2012, 14:53
именно такой вариант - нет
PHP
1
2
3
4
5
6
echo "$arr[name]"; //верно
echo "{$arr['name']}" //верно
echo "${arr['name']}" //верно
echo "$arr['name']" //неверно
echo "".$arr['name'].""; //верно
echo "".$arr["name"].""; //верно
Добавлено через 51 секунду
и вы не закрываете квадратные скобки - это тоже ошибка

Добавлено через 40 секунд
и непонятно зачем фигурные скобки вокруг mysql_query()

Добавлено через 58 секунд
насчет самих основ работы с мускулом можете здесь почитать Работа с БД MySQL
1
 Аватар для alpex
603 / 578 / 103
Регистрация: 16.07.2012
Сообщений: 1,762
27.08.2012, 15:13
PHP
1
2
3
4
5
6
7
8
9
if (isset($_POST['УбытиеАвто']) && !empty($_POST['УбытиеАвто'])){$УбытиеАвто = $_POST['УбытиеАвто'];}
if (isset($_POST['ПрибытиеАвто']) && !empty($_POST['ПрибытиеАвто'])){$ПрибытиеАвто = $_POST['ПрибытиеАвто'];}
if (isset($_POST['НомерАвто']) && !empty($_POST['НомерАвто'])){$НомерАвто = $_POST['НомерАвто'];}
if(isset($УбытиеАвто, $ПрибытиеАвто, $НомерАвто)){
mysql_query("INSERT INTO `table1` (`поле1`,`поле2`,`поле3`) VALUES ('$УбытиеАвто', '$ПрибытиеАвто', '$НомерАвто')");
unset $УбытиеАвто;
unset $ПрибытиеАвто;
unset $НомерАвто;
}
Вот так должно все работать, хотя здесь наверное много лишних букв, но зато ошибок не должно быть.
0
 Аватар для Сергей1980
547 / 377 / 16
Регистрация: 17.12.2009
Сообщений: 991
27.08.2012, 15:21  [ТС]
Спасибо за пример вывода!
Возьму на вооружение как вариант отображения. Но мне по задаче нужно просто выполнить запрос на добавление записи на сервер. То есть добавить одну запись на сервер, сняв в качестве значений полей для этой новой записи выражение двух полей <input>. То есть тупо перенести эти два значения поля в запрос и создать новую запись на сервере со значениями этих двух полей.

Конкретно по вопросу:
Есть форма с двумя полями , Поле1 и Поле2.
Я ввожу в эти поля значения Значение1, Значение2.

Нажимаю на кнопку , выполняется запрос на добавление/создание новой записи на сервере. Эта запись создается со значениями, которые я ввел предварительно в поля формы.

Представьте что у меня таблица вообще состоит из одного поля:


HTML5
1
2
3
4
5
6
<form>
 <table>
   <tr><td><input type="text" name="Pole1"><td></tr>
    </table>
<?php ....какой то код php, повешенный на событие кнопки, для вставки значения поля Pole1 в запрос для создания новой записи...?>
</form>
Вот что это должен быть за код?
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
27.08.2012, 15:24
ужас какой..
HTML5
1
2
3
4
5
6
7
8
9
10
<form method="post">
<table>
.....
<input type="date" name="УбытиеАвто"/>
<input type="date" name="ПрибытиеАвто "/>
<input type="text" name="НомерАвто "/>
.....
</table>
<input type="submit" name="btn" value="OK">
</form>
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php 
if(isset($_POST['btn'])) {
$УбытиеАвто = strip_tags(trim($_POST['УбытиеАвто']));
$ПрибытиеАвто = strip_tags(trim($_POST['ПрибытиеАвто']));
$НомерАвто = strip_tags(trim($_POST['НомерАвто']));
if(empty($УбытиеАвто) || empty($ПрибытиеАвто) || empty($НомерАвто)) 
echo 'Вы заполнили не все данные';
  else {
 if(get_magic_quotes_gpc()) {
$УбытиеАвто = stripslashes($УбытиеАвто);
$ПрибытиеАвто = stripslashes($ПрибытиеАвто);
$НомерАвто = stripslashes($НомерАвто);
 }
$query = sprintf("INSERT INTO `table1` (`поле1`,`поле2`,`поле3`) VALUES ('%s', '%s', '%s'",mysql_real_escape_string($УбытиеАвто),mysql_real_escape_string($ПрибытиеАвто),mysql_real_escape_string($НомерАвто));
$ins = mysql_query($query);
echo ($ins) ? 'Данные успешно добавлены' : 'Ошибка: '.mysql_error();
  }
}
?>
alpex, а вам советую отходить от поповского быдлокода стиля

Добавлено через 1 минуту
только замените название переменных и полей в форме на нормальные английские
0
 Аватар для alpex
603 / 578 / 103
Регистрация: 16.07.2012
Сообщений: 1,762
27.08.2012, 15:33
Цитата Сообщение от KOPOJI Посмотреть сообщение
alpex, а вам советую отходить от поповского быдлокода стиля
ну я сам где то догадываюсь что это далеко не идеальный вариант, но к сажелению в интернете нормальных видеоуроков кроме Попова по пхп практически нет
Буду благодарен если Вы подскажете какого то другого автора, уроки которого есть в свободном доступе на понятном языке
0
 Аватар для Сергей1980
547 / 377 / 16
Регистрация: 17.12.2009
Сообщений: 991
27.08.2012, 15:36  [ТС]
Цитата Сообщение от KOPOJI Посмотреть сообщение
ужас какой..
так это не ужас, это к примеру...

Вопрос то сводится вообще к простому , как передать значение переменной из html в код php?

есть имя поля на форме в теге <input name="POLE1">

Есть запрос в PHP, который должен принять значение этого поля POLE1 и создать запись на сервере
со значением этого поля. Куда полезли в дебри? В VBA это решается двумя строчками.
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
27.08.2012, 15:44

Не по теме:

alpex, лучше скачайте учебник, например, PHP5 в подлиннике от Д. Котерова, а вообще здесь в разделах есть тема про учебники (помечено Важной)
а если так хочется по видеоурокам - то курсы от специалиста.



Добавлено через 22 секунды
Сергей1980, я вам выше написал пример с тремя полями

Добавлено через 3 минуты
можно и двумя строчками (именно php две строчки)
HTML5
1
2
3
4
<form method="post">
<input type="text" name="pole1">
<input type="submit" name="btn">
</form>
PHP
1
2
3
4
5
<?php 
if(isset($_POST['btn'])) { 
mysql_query("INSERT INTO `table`(`pole1`) VALUES('".mysql_real_escape_string($_POST['pole1'])."')");
}
?>
1
 Аватар для Сергей1980
547 / 377 / 16
Регистрация: 17.12.2009
Сообщений: 991
27.08.2012, 15:45  [ТС]
Цитата Сообщение от KOPOJI Посмотреть сообщение
Сергей1980, я вам написал пример с тремя полями
Спасибо! Неужели так много кода для такой простой операции? Ужас...
А покороче никак нельзя обратиться к значениям полей на форме?

И еще такой вопрос по одной строчке:
PHP
1
if(empty($УбытиеАвто) || empty($ПрибытиеАвто) || empty($НомерАвто))
Вот эти символы ||.......||..... это аналог условия OR?
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
27.08.2012, 15:47
Цитата Сообщение от Сергей1980 Посмотреть сообщение
Вот эти символы ||.......||..... это аналог условия OR?
верно
Цитата Сообщение от Сергей1980 Посмотреть сообщение
Спасибо! Неужели так много кода для такой простой операции? Ужас...
А покороче никак нельзя обратиться к значениям полей на форме?
там просто с проверками и очисткой
0
 Аватар для Vovan-VE
13210 / 6599 / 1041
Регистрация: 10.01.2008
Сообщений: 15,069
27.08.2012, 15:47
Цитата Сообщение от Сергей1980 Посмотреть сообщение
Вот эти символы ||.......||..... это аналог условия OR?
Это и есть логический or.
0
 Аватар для alpex
603 / 578 / 103
Регистрация: 16.07.2012
Сообщений: 1,762
27.08.2012, 17:47
Цитата Сообщение от KOPOJI Посмотреть сообщение

Не по теме:

alpex, лучше скачайте учебник, например, PHP5 в подлиннике от Д. Котерова, а вообще здесь в разделах есть тема про учебники (помечено Важной)
а если так хочется по видеоурокам - то курсы от специалиста.


Что то эта книга старовата(
А по урокам так где же взять эти видеокурсы от специалиста
0
 Аватар для Сергей1980
547 / 377 / 16
Регистрация: 17.12.2009
Сообщений: 991
27.08.2012, 23:05  [ТС]
Ребят, спасибо всем! Начинаю въезжать в язык. Синтаксис по сравнению с бейсиком странноват пока кажется, но основные принципы идентичны. Как понимаю с точки зрения отображения и взаимодействия с HTML это генератор нужных тегов HTML , в нужное время и в нужном месте)) В общем то с точки зрения взаимодействия с сервером и его базами и таблицами с записями все то же самое- удалить, добавить,обновить,создать. А как в php запустить хранимую процедуру на сервере, есть какое нибудь служебное слово? Я сознательно не смотрю пока хелп, просто хочу вдохновиться и начать создавать интерфейс СУБД при помощи данного языка. Привлекло то , что пользователю не нужны какие либо установленные программы, чтобы запускать клиентскую часть, а пойдет стандартный интернет браузер, плюс ко всему не надо делать рассылку обновлений, или подкачку обновлений. - просто дописал страничку на локалхосте и все стало по новому у всех. Открыл ради прикола 80 порт, пробросил порты, полюбовался творением из сети, круто. Есть ли в веб интерфейсе объекты наподобии grid? Ну чтобы таблицы по взрослому отображались, как в экселе или в аксессе, с возможностью сортировки, группировки, фильтров? Или мне еще надо и JavaScript прихватить за компанию?)
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
27.08.2012, 23:44
встроенных grid-ов нет хотя можно в инете поискать, плагины jquery я какие то видел наподобие такого
Цитата Сообщение от Сергей1980 Посмотреть сообщение
Или мне еще надо и JavaScript прихватить за компанию?)
ага, а именно ajax/jquery + css для красоты. ну и конечно же все равно придется учить php+СУБД (про html не говорю - там учить то нечего - хотя и надо).
принципы программирования у всех ЯП схожи только везде по разному это делается..
Цитата Сообщение от Сергей1980 Посмотреть сообщение
А как в php запустить хранимую процедуру на сервере, есть какое нибудь служебное слово?
в смысле хранимую процедуру? какой то exe-шник? или другой php-скрипт?
Цитата Сообщение от Сергей1980 Посмотреть сообщение
хочу вдохновиться и начать создавать интерфейс СУБД при помощи данного языка.
в смысле написать свою СУБД?))
0
 Аватар для Сергей1980
547 / 377 / 16
Регистрация: 17.12.2009
Сообщений: 991
28.08.2012, 00:56  [ТС]
Не не, не экзешник , а именно хранимую процедуру. Есть такое понятие на мускуле, да и вообще на всех серверах MsSql, Oracle , MySQL .. Есть такое выражение на SQL , вот его начало Create Stored Procedure ... И дальше понеслось. То есть ты прописываешь на серваке к примеру запрос на изменение какой либо, ну к примеру INSERT INTO TABLE 'table1' ('pole1') VALUES ($переменная); и сохраняешь его на сервере под именем к примеру Мой_запрос. И потом в дальнейшем в пхп не пишешь весь текст запроса, а что нибудь по типу mysql_query('Мой_запрос') . На хранимых процедурах вся движуха на серверах происходит) это же одна из основных возможностей на мускуле, создал хранимую процедуру и потом к ней обращаешься только по имени, зачем палить в коде синтаксис запроса, лучше к нему обращаться по имени хранимой процедуры. В хранимую процедуру можно написать сколько хочешь запросов на изменение, ну к примеру три запроса на обновление, первый изменяет данные в первой таблице, второй изменяет данные во второй, а третий в третьей. И всю эту последовательность трех запросов называешь одним словом , к примеру моя_сохраненная_процедура и сохраняешь на серваке. А потом из php не пишешь эти нужные тексты запросов друг за другом, а просто обращаещся к имени этой сохраненной процедуры на сервере. Это мегаглавные вещи при разработке баз данных. Тригеры и сохраненные процедуры на серваках-сердце БД любой. Если я смог создать и запустить хранимку с неродного для MySQL языка VB , то уж с php подавно можно. SQL запросы писать лучше на самом серваке , обзывать их какнить, а уж из кода обращаться к имени этого запроса на серваке). Обычные запросы на выборку тоже можно хранить на сервере, они называются вьюшками и предназначены для выборки значений на экран. Создаются при помощи команды CREATE VIEW... Я надеюсь ты не прикладываешься надо мной, спрашивая что такое хранимки))

А свою СУБД я уже написал, только реализация была на средствах от Microsoft +VBA . Сидит в базе по моим подсчетам уже голов 50)) часть сидит в Китае, часть в Москве, часть в Польше и на Украине. Реализовал серьезную систему учета движения товаров и транспортных средств, с углублением в внешнеэкономическую деятельность и логистику. Причем профессионально, на серьезном уровне ибо образование основное логистическое) так как уже базостроением занимаюсь давно, определился чего не хватает в моих СУБД . Не хватает красоты))) ну нельзя там просто сделать круглую кнопку, покрасить часть таблицы в один цвет, а часть в другой)) объединить строки любые какие хошь тоже нельзя. Короче нет полета фантазии, верстки и дизайна там как такового нет, а если и есть какие нибудь динамические фишки , то это только если дополнительные библиотеки activеX подключать, причем надо это делать на каждом компе пользователя отдельного. Скудно. Плюс не у каждого могут стоять такие специализированные программы типа access, или frameworkи нужные. Или если экзешник какой клепаешь в visual студио, а потом ошметки при установке на чей либо комп глючить начинают. Вот как то так и подобрался к php+HTML +MySQL . Запускается у всех, ничего платить никому не надо, а фантазию ограничивают только твои познания на текущий момент. Вот у ораклоида в соседней ветке спроси как сделать восьмиугольное поле и чтобы буквы по стенке змейкой бежали, он зависнет сразу на этом вопросе))) хотя может кто нить и напишет вагон кода, но это будет нестандартный тяжелый и ненужный в данной системе элемент управления)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
28.08.2012, 00:56
Помогаю со студенческими работами здесь

Передача переменных name из HTML в PHP!
У меня появилась посблема с передачей переменых name из HTML в PHP! Вот HTML код (переменные я выделил): А вот PHP куда это должно...

Передача переменных PHP -> HTML
Всем привет! Возник вопрос передачи переменных из PHP в HTML (или вариант PHP-&gt;JS-&gt;HTML). Где в HTML надо сделать запрос вида: ...

Передача переменных из PHP в Javascript
Добрый день. Пытаюсь сделать, чтобы &quot;сайт&quot; работал не со своими данными, а обращался к базе за ними. Подключил вроде все нормально... ...

Передача переменных PHP из формы HTML
Здраствуйте! Изучаю по книге PHP и не выходит передать переменные формы в PHP файл... В книге написано что PHP автоматически должен...

Передача переменных между вставками php
Может довольно простой вопрос, но не могу найти решение. Пусть есть кусок кода: Enter count: &lt;input type=&quot;text&quot;...


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

Или воспользуйтесь поиском по форуму:
17
Ответ Создать тему
Новые блоги и статьи
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru