Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
1 / 1 / 4
Регистрация: 12.02.2014
Сообщений: 117

Разбить переменную POST пост на составляющие

10.05.2018, 06:36. Показов 946. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем доброго времени суток...

У меня через POST в ifraim где подключается БД, передается переменная

Пример кода:
index.php
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<form action="db.php" target="window1" method="POST">
    <b> Выбор Дома </b> <br>
    <select name = "selected">
        <option value = "">  -----  </option>
        <option value = "g_kholmsk_yl_shkolnaa_dom_10a"> г. Холмск, ул. Школьная, дом № 10а </option>
        <option value = "g_kholmsk_yl_shehova_dom_15"> г. Холмск, ул, Чехова, дом № 15 </option>
        <option value = "s_ablochnoe_yl_pobedi_dom_25a"> с. Яблочное, ул. Победы, дом № 25а </option>
        <option value = "s_ablochnoe_yl_portovaa_dom_16"> с. Яблочное, ул. Портовая, дом № 16 </option>
        <option value = "p_kamenskoe_yl_stahanovskaa_dom_57"> п. Каменское, ул. Стахановская, дом № 57 </option>
        <option value = "p_kamenskoe_yl_chaplina_dom_97a"> п. Каменское, ул. Чаплина, дом № 97а </option>
    </select>   
    <input type = "submit" value = "Показать Информацию о доме">
</form>
 
<?php
    echo '<iframe iframeborder="1" src="pysto.html" name="window1" id="window1" scrolling="auto" noresize width="100%" height="50%"></iframe>';
?>
db.php
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
    <?php
        //Переменный для подключения
        $host = "localhost"; //Имя хоста для подключения к БД
        $username = "root"; //Пользователь базы данных
        $pass = ""; //Пароль к базе данных
        $name_db = "test_spisok"; //Имя базы данных 
        $name_tablicha = $_POST['selected'];  //id выбранной из списка домов
 
        echo '<br> Локальный Хост: '.$host;
        echo '<br> Пользователь: '.$username;
        echo '<br> Пароль: '.$pass;
        echo '<br> БД: '.$name_db.'<br>';
 
        //Проверка на выбор дома
        if (!$name_tablicha)
        {
            echo '<br> Ошибка! Дом небыл выбран!';
            echo '<body style="background-color:Pink">';
            exit();
        }
        else
        {
            echo '<br> Таблица: '.$name_tablicha;
        }
    ?>
Я хотел бы что бы переменная, к примеру переменная g_kholmsk_yl_shkolnaa_dom_10a, разбивалась на части, к примеру
$name_db = g_kholmsk;
$name_tablicha = yl_shkolnaa_dom_10a

Как мне можно это реализовать?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
10.05.2018, 06:36
Ответы с готовыми решениями:

Как строку вида 129Mb разбить на составляющие 129 и Mb?
Собственно вопрос в названии темы

Получить переменную из многомерного JSON переданного пост запросом
Доброго времени суток! Отправляю данные методом POST через $.ajax Отправляю такой JSON массив: { &quot;hit&quot;:{ ...

Если четбокс оставить неактивным при отправке методом пост в переменную присваивается null?
Если четбокс оставить неактивным при отправке методом пост в переменную присваивается null?

2
 Аватар для koders
259 / 193 / 50
Регистрация: 15.07.2016
Сообщений: 649
10.05.2018, 09:36
Для начала, определить логику, по какому принципу должно производиться разбивание. Если это всегда буква_слово — база, оставшиеся символы — таблица, то хотя бы так:
PHP
1
2
preg_match('!([a-z]_[a-z]+)_(\w+)!', $_POST['selected'], $t);
list(, $name_db, $name_tablicha) = $t;
1
1 / 1 / 4
Регистрация: 12.02.2014
Сообщений: 117
11.05.2018, 03:05  [ТС]
Цитата Сообщение от koders Посмотреть сообщение
Для начала, определить логику, по какому принципу должно производиться разбивание. Если это всегда буква_слово — база, оставшиеся символы — таблица, то хотя бы так:
PHPВыделить код
PHP
1
2
preg_match('!([a-z]_[a-z]+)_(\w+)!', $_POST['selected'], $t);
list(, $name_db, $name_tablicha) = $t;
это очень интересный код, спасибо...
________________________________________ _____________________________________
Если я правильно понял, то разбивка идет следующим образом:

g_kholmsk_yl_shkolnaa_dom_10a > !([g]_[kholmsk]+) _ (\[yl_shkolnaa_dom_10a]+)! > !([a-z]_[a-z]+) _ (\w+)!

________________________________________ _____________________________________
Если исходить из этого, то если к примеру я отдельно хочу вывести ещё и номер дома, то мне нужно сделать, если я правильно понял, вот так:

g_kholmsk_yl_shkolnaa_dom_10a > !([g]_[kholmsk]+) _ (\[yl]_[shkolnaa]_[dom]+) _ (\10a)! >

!([a-z]_[a-z]+)_(\[a-z]_[a-z]_[a-z]+)_(\w+)!

list(, $name_db, $name_tablicha, $nomer_doma) = $t;

________________________________________ _____________________________________
Но вот только когда я применяю такой код:
PHP
1
2
preg_match('!([a-z]_[a-z]+)_(\[a-z]_[a-z]_[a-z]+)_(\w+)!', $_POST['selected'], $t);
list(, $name_db, $name_tablicha, $nomer_doma) = $t;
Ни одного данного вообще не передается...

Значит я что-то не так делаю...
Можете подсказать что именно? Так как в интернете я чет не могу найти подхожящего примера, аналогичного типа что вы мне подсказали, с применением preg_match

Добавлено через 21 минуту
Я тут почитал и ещё кое что понял... Цифры то не буквы, и применение к цифрам [a-z], недопустимо, необходимо использовать [0-9]...
А ещё как я прочел, можно комбинировать и буквы и цифры в 1 слот [a-zA-Z0-9]
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
11.05.2018, 03:05
Помогаю со студенческими работами здесь

Разбить на составляющие
есть такой код AjaxComponent = { locations: {}, firstLoad: true, options: {}, init: function(parameters){this.result =...

Разбить ip адрес на составляющие.
Задача такова получаем на входе строку типа string в которой содержится адрес вида &quot;172.16.11.163&quot; нужно получить четыре масива...

Разбить строку на составляющие
Всем здраствуйте. Нужна помощь,необходимо сделать программку которая бы обрабатывала таблицы,т.е. убирала лишние пробелы,заменяла...

Как разбить адрес на составляющие?
Добрый день! Я в VBA вообще не разбираюсь, равно как и программирование, но столкнулся с задачей ,которую без VBA решить не получится....

Разбить строку (IP-адрес) на составляющие
Всем привет ! Подскажите как можно разбить строку с айпи адрессом на 4 части ? например есть у меня строка в которой значение 127.0.0.1 мне...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию. 2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO Апнулись до NET10. Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта так и в интерактивном режиме. из сложностей - чисто функциональный подход. Решил. . .
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2. Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники". В. . .
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии. . . .
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru