С Новым годом! Форум программистов, компьютерный форум, киберфорум
PHP
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
1 / 1 / 0
Регистрация: 06.03.2024
Сообщений: 113

Как методом GET передать значение атрибута data-?

15.04.2024, 13:28. Показов 944. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте уважаемые специалисты!

Передаю методом GET значение value с input следующим образом:

HTML5
1
2
3
4
5
<form action='' name='' method='get'>
<input type='radio' id='wlt1' name='uname' value='Значение1' data-number='Значение2'>
<input type='radio' id='wlt2' name='uname' value='Значение1' data-number='Значение2'>
<button name='step2'>Next step</button>
</form>
PHP
1
2
3
4
5
6
7
8
9
$uname = $_GET['uname'];
 
if(isset($_GET['step2'])) {
    if (empty($uname)) {
        echo"Не удачно";
    } else {
        header("Location: page.php?step=3&uname=".$_GET['uname']);
    }
}
Подскажите, пожалуйста, а как мне вместе со значением value дополнительно через амперсант & передать еще и значение атрибута data-number ?
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
15.04.2024, 13:28
Ответы с готовыми решениями:

Как изменить значение data атрибута у html?
Есть чекбокс, при включении в DOM у html тега должен измениться data атрибут, по умолчанию hide кука записывается, но значение data...

Как в функцию angular передать значение атрибута?
допустим у меня есть ссылка &lt;a data-pressed=&quot;false&quot; ng-click=&quot;func(...)&quot;&gt; как в func передать значение...

Как передать значение переменной методом post
Добрый день. &lt;? $data='{&quot;packages&quot;: }'; ?&gt; &lt;form...

8
 Аватар для crautcher
2450 / 2301 / 597
Регистрация: 27.05.2011
Сообщений: 7,845
15.04.2024, 14:14
Скрытое поле сделать проще всего
HTML5
1
2
<input type='radio' id='wlt1' name='uname' value='Значение1' data-number='Значение2'>
<input type='hidden' name='unameNumber' value='Значение2'>
1
Супер-модератор
Эксперт JSЭксперт HTML/CSSЭксперт PHP
 Аватар для gogolik
3949 / 2056 / 829
Регистрация: 13.03.2010
Сообщений: 6,765
15.04.2024, 15:14
Kuzma92, через js.
1
1 / 1 / 0
Регистрация: 06.03.2024
Сообщений: 113
15.04.2024, 17:13  [ТС]
gogolik, как на JS я знаю. Но в этом случае я его не использую совсем.
crautcher,
Цитата Сообщение от crautcher Посмотреть сообщение
Скрытое поле сделать проще всего
а отмечать то его как? на него же (на label) надо как-то кликать отдельно, но этот вариант не подходит
0
Супер-модератор
Эксперт JSЭксперт HTML/CSSЭксперт PHP
 Аватар для gogolik
3949 / 2056 / 829
Регистрация: 13.03.2010
Сообщений: 6,765
15.04.2024, 19:50
Kuzma92, ну, удачи в таком случае решить через php без js.
1
 Аватар для sad67man
2603 / 1507 / 689
Регистрация: 23.08.2015
Сообщений: 3,815
16.04.2024, 00:12
Kuzma92, по сути вы хотите передать 2 значения в одном. Можно их пропихнуть в формате json или через какой-нибуд разделитель.

PHP/HTML
1
2
3
4
5
6
7
8
<input
    type='radio'
    name='uname'
    value='<?= htmlspecialchars(json_encode([
        'val' => 'Значение1',
        'number' => 'Значение2'
    ]), ENT_QUOTES | ENT_SUBSTITUTE) ?>'
>
PHP/HTML
1
2
3
4
5
<input
    type='radio'
    name='uname'
    value='Значение1|Значение2'
>
PHP/HTML
1
2
3
4
5
<input
    type='radio'
    name='uname'
    value='Значение1_Значение2'
>
Добавлено через 14 минут
Kuzma92, Есть предположение, что вы делаете через связку естественных ключей.
Можно каждой связке присвоить некий идентификатор и использовать его.
1
1 / 1 / 0
Регистрация: 06.03.2024
Сообщений: 113
16.04.2024, 00:16  [ТС]
sad67man,
Цитата Сообщение от sad67man Посмотреть сообщение
по сути вы хотите передать 2 значения в одном
Да. На другой странице значение value с input я вывожу таким образом:

echo"<div>".$uname."</div>";

И если оба значения запихнуть в value,

То оно получается на выходе так:
Значение1Значение2

Но мне нужно как-то сделать так, чтобы я мог стилизовать каждое значение по отдельности, и на выходе каждое значение выводилось, скажем, в отдельном div или span, без разницы.

Я могу сделать так:

value='<div>Значение1</div><div>Значение2</div>'

и тогда с помощью стиля стилизовать их по-отдельности как угодно. Но тогда есть один момент - не совсем красиво это выглядит в адресной стоке браузера, т.е. в ней явно видны теги <div></div>, что как мне кажется слишком грубым. Или я чего-то не понимаю?
0
 Аватар для sad67man
2603 / 1507 / 689
Регистрация: 23.08.2015
Сообщений: 3,815
16.04.2024, 00:36
Лучший ответ Сообщение было отмечено Kuzma92 как решение

Решение

Цитата Сообщение от Kuzma92 Посмотреть сообщение
То оно получается на выходе так:
Значение1Значение2
На второй странице нужно парсить значение, разбивая на 2 через explode

Добавлено через 16 минут
Цитата Сообщение от Kuzma92 Посмотреть сообщение
echo"<div>".$uname."</div>";
Через адресную строку можно передать что угоджно, включая html; Поэтому при выводе обязательно нужно прогонять через htmlspecialchars (особенно при подстановки значений в аттрибуты) иначе может полететь верстка, и это уязвимость xss.
Для удобства можно написать отдельную функцию

PHP
1
2
3
4
function e($val): string
{
    return htmlspecialchars($val, ENT_QUOTES | ENT_SUBSTITUTE);
}
PHP/HTML
1
<div><?= e($uname) ?></div>
Цитата Сообщение от Kuzma92 Посмотреть сообщение
не совсем красиво это выглядит в адресной стоке браузера
1) вы можете сохранять выбранные значения в сессию, чтоб не гонять данные через адресную строку (или куки)
2) составить массив данных и передавать их ключ

PHP/HTML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php $options = [
    'id1' => [
        'value' => 'Значение1',
        'number' => 'Значение2'
    ],
    'id2' => [
        'value' => 'Значение3',
        'number' => 'Значение4'
    ],
];
 
//....
 
?>
 
<?php foreach ($options as $val => $option): ?>
    <input type='radio' name='uname' value='<?= e($val) ?>'>
<?php endforeach ?>
На второй странице нужно будет достать значения по id..

PHP
1
2
3
4
5
6
$selectedOption = $options[$_GET['uname']] ?? null;
 
if ($selectedOption) {
  $selectedOption['value'];
  $selectedOption['number'];
}
1
1 / 1 / 0
Регистрация: 06.03.2024
Сообщений: 113
16.04.2024, 00:39  [ТС]
Цитата Сообщение от sad67man Посмотреть сообщение
На второй странице нужно парсить значение, разбивая на 2 через explode
Да, вот точно! Это то что нужно. Узнал для себя новое. Уже сделал. Огромное человеческое спасибо!!!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
16.04.2024, 00:39
Помогаю со студенческими работами здесь

Как передать значение возвращёное одним методом в другой метод
Хочу передать что вычислил метод Stroca() в мeтод TE(); как это сделать? Где можно было бы почтать? class Program { ...

Как можно присвоить значение атрибута одного XML файла атрибута из другого XML файла?
привет, при генерации с помощью SAX некоторого xml файла, как можно присвоить точно такое же значение аттрибуту этого файла аттрибута из...

Нзначение атрибута data
&lt;!DOCTYPE html&gt; &lt;html&gt; &lt;head&gt; &lt;meta charset=&quot;utf-8&quot;&gt; &lt;title&gt;data-*&lt;/title&gt; &lt;/head&gt; &lt;body&gt; &lt;div id=&quot;user&quot;...

Выборка по значению атрибута data-*
Всем доброго времени суток! Столкнулся с такой проблемой, как на JavaScript выбрать элемент по значению data-* ? То есть по id я могу...

Теги внутри data атрибута
Допустим есть div, можно ли чтобы теги в браузере рендерились как html, а не текст &lt;p&gt;Name.... ? &lt;div...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит токи на L и напряжения на C в установ. режимах до и. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru