Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.82/11: Рейтинг темы: голосов - 11, средняя оценка - 4.82
0 / 0 / 0
Регистрация: 19.07.2011
Сообщений: 8
1

как считать имя передаваемой переменной формы, либо прикрепить к нему value в image

24.02.2012, 07:24. Показов 2180. Ответов 10
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Задача: есть картинки кнопок в форме через input type=image. Нужно передать конкретное значение переменной для выбранной кнопки-картинки:
Мои провалившиеся пути решения:
1) value - для этого не приспособлено в теге...
2) задавал input ч/з php и добавлял в тег переменную...
3) давал каждой кнопке имя отличающееся по индексу - но как считать не значение переменной, а передаваемое имя?
Каким путём идти - я в темноте...
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.02.2012, 07:24
Ответы с готовыми решениями:

Как вывести имя переменной, передаваемой в фукцию?
Как это сделать? void func(int arg) { cout << } int main() { int a1 = 1;

Как узнать имя переменной главной формы?
Как узнать имя переменной главной формы (та, которая появляется при создании приложения Windows...

Как можно определить тип переменной передаваемой в функцию?
Как можно определить тип переменной передаваемой в функцию? В частности мне надо узнать...

как присвоить значение переменной, передаваемой в функцию через параметры
есть глобальная переменная int stateKir = 01; int numberKir = 01; вызов функции с передачей...

10
2432 / 2282 / 594
Регистрация: 27.05.2011
Сообщений: 7,801
24.02.2012, 11:47 2
Цитата Сообщение от antr Посмотреть сообщение
Нужно передать конкретное значение переменной для выбранной кнопки-картинки:
пусть передаёт input type="hidden" нужное вам значение при клике на image
1
960 / 801 / 85
Регистрация: 21.07.2010
Сообщений: 3,522
24.02.2012, 12:33 3
Цитата Сообщение от antr Посмотреть сообщение
3) давал каждой кнопке имя отличающееся по индексу - но как считать не значение переменной, а передаваемое имя?
еще есть аттрибут id у каждого тега, туда можете вписать то что хотите, правда чтобы ее достать из php нужно будет использовать js, поэтому если не хотите js делайте как сказал crautcher
0
0 / 0 / 0
Регистрация: 19.07.2011
Сообщений: 8
24.02.2012, 12:35  [ТС] 4
???
Я не очень понял механизм. Данный вариант я рассматривал, но не понял, как применить.
После нажатия на input type image данные отправляются, как на submit и hidden уже не срабатывает.
Вы имеете ввиду гиперссылку, в которую вставляется input hidden?
0
960 / 801 / 85
Регистрация: 21.07.2010
Сообщений: 3,522
24.02.2012, 12:39 5
antr, у вас каждый <input type="image" /> находится в теге <form></form> со своим тегом <input type="submit" /> ?
Если да, то в этой форме задайте еще и тег <input type="hidden"/> , в аттрибуте value которого содержится нужное вам значение.
А если у вас только теги <input type="image" />, то тут без js не обойтись
0
2432 / 2282 / 594
Регистрация: 27.05.2011
Сообщений: 7,801
24.02.2012, 12:44 6
Цитата Сообщение от antr Посмотреть сообщение
???
Я не очень понял механизм. Данный вариант я рассматривал, но не понял, как применить.
После нажатия на input type image данные отправляются, как на submit и hidden уже не срабатывает.
Вы имеете ввиду гиперссылку, в которую вставляется input hidden?
я незнаю что там у вас передаётся , поэтому незнаю какой пример вам показать
PHP
1
2
3
4
5
6
7
8
9
10
<?
foreach ($somevalues as $c)
{
?>
<form action="somepage.php">
<input type="hidden" value="<?=$c ?>" name="myvar">;
<input type="image" src="<?=$c ?>.gif" alt="Submit" />
</form>
<?
}
0
0 / 0 / 0
Регистрация: 19.07.2011
Сообщений: 8
24.02.2012, 13:01  [ТС] 7
Идея такая (конечно можно реализовать и через for, но просто как-то привык к while). Это весьма грубый сокращённый пример:
PHP
1
2
3
4
5
$na=1;
while ($na<=8){     
echo "<p><input type='image' src='i{$na}_l.jpg' name='n'></p>";
$na++;
};
И дальше тупик.
0
2432 / 2282 / 594
Регистрация: 27.05.2011
Сообщений: 7,801
24.02.2012, 13:05 8
и что надо передать ? какую переменную ?
0
0 / 0 / 0
Регистрация: 19.07.2011
Сообщений: 8
24.02.2012, 13:22  [ТС] 9
При выборе каждой картинки должно генерироваться какое-нибудь значение, которое можно потом обработать. Я задавал имена name=n{$na} (пока массивы не трогаю), но как к именам (не значениям) получить доступ после передачи не знаю. Это один вариант.
Второй вариант внедрить переменную в тег - тоже не сработал. https://www.cyberforum.ru/images/icons/icon5.gif
0
2432 / 2282 / 594
Регистрация: 27.05.2011
Сообщений: 7,801
24.02.2012, 13:32 10
ну оборачивайте Каждую кнопу в форму и кидайте скрытое поле

PHP
1
2
3
4
5
6
7
8
9
10
11
12
$na=1;
while ($na<=8){ 
echo "<form method='post' action='#'>";
echo "<input type='hidden' value='{$na}' name='pressed'>";
echo "<p><input type='image' src='i{$na}_l.jpg' name='n'></p>";
echo "</form>"
$na++;
};
 
//a zatem obrabatyvajte
if (isset($_POST['pressed']))
 echo "U have Pressed on picture number ".$_POST['pressed'];
1
0 / 0 / 0
Регистрация: 19.07.2011
Сообщений: 8
27.02.2012, 04:09  [ТС] 11
Получил пищу для размышлений. Получилось очень криво, т.к. появились формы в форме и пришлось ввести кнопку подтверждающую размеры, а я хотел, чтобы подтверждала размер фотография. Приведу сильно отредактированный код от оригинала (всё форматирование и структуру убрал):
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
<form action="kima.php" method="get">
Выберете: размер и фото - 
<select name="raz">
<option value="1">1024*768</option>
<option value="2">800*600</option>
<option value="3">640*480</option>
<option value="4">500*375</option>
<option value="5">300*225</option>
</select>
<?php
$na=0;
while ($na<=8){
echo "<form method='post' action='#'>";
echo "<input type='hidden' value='{$na}' name='nom'>";      
echo "<p><input type='image' src='i{$na}_l.jpg' name='n'></p>";
echo "</form>";
$na++;
};
?>
<?php include "kartin.php" ?>
<?php 
kartin($raz,$nom);
 ?>
</form>
Пришлось ввести 0-ю картинку "Размер", подтверждающую значение из списка.
Если убираю внутренние формы, то идеал, но только для последней картинки (то с чего и начал).

Добавлено через 22 часа 34 минуты
Всё спасибо решил задачу. Кривовато, но работает. К выбору размера применил Ваш метод. Результаты форм сохранял с перезаписью в 2-х текстовых файлах (с начальными значениями 1). В результате одновременно вызываю с них значения и подставляю их в функцию вывода картинки kartin.php.
Один недостаток - последующий пользователь будет сначала смотреть картинку предыдущего, с введёнными им же размерами. Но это терпимый недостаток. Серьёзная проблема возникнет, когда одновременно несколько пользователей будут смотреть этот раздел - но это следующая проблема.
0
27.02.2012, 04:09
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
27.02.2012, 04:09
Помогаю со студенческими работами здесь

Надо что бы при нажатии на какой либо Image с картинкой, картинка перекидывалась в пусто Image, а Image на который нажали исчезал.
Имеется 4 Image в 3 из них находятся картинки, а 4 пустой. Надо что бы при нажатии на какой либо...

Как с помощью строковой переменной, содержащей имя формы, создать объект(форма)
Скажем существует переменная strFormName='frmTovars', форма frmTovars реально существует в проекте...

Тип переменной для имя формы
В общем задача вроде простая, но что то застопорился. Допустим есть переменная PER. В ней должно...

Функция, изменяющая значение переменной, передаваемой ей
В c# есть FileStream.Read(buffer byte, i int, o int), которая читает в buffer. Хочу сделать что-то...

Вывод передаваемой с помощью ajax переменной.
Здравствуйте,уважаемые ,программисты,недавно начал изучать jquery и наткнулся на такую проблему....

Ошибка в значении переменной, передаваемой в функцию
Странный вопрос конечно, ошибка в функции (верней число), но я не могу понять почему не работает...


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru