|
1 / 1 / 0
Регистрация: 13.05.2009
Сообщений: 244
|
|
Как передать параметр в PHP?28.06.2010, 13:06. Показов 4426. Ответов 16
Метки нет (Все метки)
Сильно не пинайте, но проблема такая
[code] print '<td><form name='f_$x' action='krz.php?kvo=$kvo[$x]' METHOD=POST><INPUT TYPE=TEXT name='kvo$x' SIZE=5 value=$kvo[$x]> <INPUT TYPE=submit VALUE=' + ' class='mbtn'></form></td> '; [/code В файле krz.php $kvo=$_GET['kvo']; все время кажет 0 (т.е. первоначальное значение), невзирая на то, что я ставлю разные цифры в этом самом INPUT TYPE=TEXT Что-то делаю не правильно, но что? И как сделать?
0
|
|
| 28.06.2010, 13:06 | |
|
Ответы с готовыми решениями:
16
Возможно передать php переменной скриптовый параметр?
MVC маршрутизация, как передать параметр GET |
|
4 / 4 / 3
Регистрация: 25.05.2009
Сообщений: 2,576
|
|
| 28.06.2010, 15:08 | |
|
я делаю так
<INPUT TYPE=TEXT name= 'kvo'.$x.' ' SIZE=5 value=$kvo[$x]> и так <INPUT TYPE=TEXT name= 'kvo['.$x.'] ' SIZE=5 value=$kvo[$x]> тогда получаю массив. Всё работает!
0
|
|
|
1 / 1 / 0
Регистрация: 13.05.2009
Сообщений: 244
|
|||||||||||
| 28.06.2010, 16:21 [ТС] | |||||||||||
|
В файле list.php
В файле krz.php
Что делать-то? Уже 'черепицею шурша - крыша едет неспеша...'
0
|
|||||||||||
|
4 / 4 / 3
Регистрация: 25.05.2009
Сообщений: 2,576
|
|
| 28.06.2010, 17:23 | |
|
<?
if($_POST['tx']){ for($i=0;$i<count($_POST['tx']);$i++){ echo $_POST['tx'][$i]; } } echo '<form method= 'post '>'; for($i=0;$i<10;$i++){ echo '<input type= 'text ' name= 'tx['.$i.'] '> '; } echo '<input type= 'submit '></form>'; ?>
0
|
|
|
0 / 0 / 0
Регистрация: 04.06.2010
Сообщений: 128
|
|
| 28.06.2010, 18:35 | |
|
Ты внимательно посмотри, у тебя после знака ? стоит & его нужно убрать
0
|
|
|
0 / 0 / 0
Регистрация: 04.06.2010
Сообщений: 128
|
|
| 28.06.2010, 18:38 | |
|
хотя и так работает : )
0
|
|
|
evge
|
|
| 28.06.2010, 19:14 | |
|
согласно документации PHP массивы в строку надо вставлять так:
<? print 'action='krz.php?&kvo={$kvo[$x]}''; ?> или так: <? print 'action='krz.php?&kvo='.$kvo[$x].' ''; ?> в случае: <? print 'action='krz.php?&kvo=$kvo[$x] ''; ?> результат не оределен. |
|
|
4 / 4 / 3
Регистрация: 25.05.2009
Сообщений: 2,576
|
|
| 28.06.2010, 20:37 | |
|
дело совсем не в этом!
Человек передаёт гет переменную в акшине формы, тоесть там она всегда равна начальному значению счётчика, в данном случае $x. То число, которое он хочет получить, тоесть нарастающее на единицу, скрыто в данном случае в пост переменной, тоесть в текстовом поле.
0
|
|
|
evge
|
|
| 28.06.2010, 21:09 | |
|
<?
echo '<pre>'; print_r($_POST[tx]); echo '</pre>'; echo '<form name=frm1 method=post>'; for($i=0;$i<10;$i++)echo '<input type=text name=tx[] > '; echo '<input type=submit></form>'; ?> |
|
|
1 / 1 / 0
Регистрация: 13.05.2009
Сообщений: 244
|
|||||||||||
| 29.06.2010, 09:44 [ТС] | |||||||||||
|
Все отдельно взятые примеры работают на ура. Спасибо огромное.
Но в моем случае проблема-то немного в другом: <INPUT TYPE=TEX...value принимает значение массива $kvo[$x], изначально равное нулю. Когда я вношу количество в это текстовое поле, то меняется его value, а не значение массива $kvo[$x], которое так и осталось =0. В тоже время в action формы я пытаюсь передать все тот же элемент массива $kvo[$x]. Может в этом проблема? Я пытался передавать и так: В файле list.php
Тогда в файле krz.php
Попробую что-то выкрутить с помощью предложенных примеров... может что и получится.
0
|
|||||||||||
|
3 / 3 / 6
Регистрация: 20.06.2010
Сообщений: 580
|
|
| 29.06.2010, 11:25 | |
|
global $kvo;
$kvo[]=0; print '<td><form name='f_$x'action='krz.php?kvo=$kvo[$x]' METHOD=POST> <INPUT TYPE=TEXT name='kvo$x' SIZE=5 value=$kvo[$x]> <INPUT TYPE=submit VALUE=' + '> </form></td> '; $kvo=$_GET['kvo']; print '$kvo'; Что то совсем не понятно тут у тебя ... Что ты хочешь? Получить значение $kvo[$X] или $kvo$x??? если у тебя что то вроде этого: for($i=0;$i<10;$i++){ ... echo '<input type= 'text ' name= 'kvo$x] ' value = '$kvo[$x] '> '; ... } То на следующей странице можешь поймать данные вот так: for($i=0;$i<10;$i++){ ... $temp = 'kvo$i'; $kvo[$i] = ${$temp}; //или $_POST['${$temp}']; ... } Должно работать, но ты опять таи уточни что ты хочешь ... у тебя одна и та же переменная передается через пост и через гет ...
0
|
|
|
3 / 3 / 6
Регистрация: 20.06.2010
Сообщений: 580
|
|
| 29.06.2010, 12:14 | |
|
Обясняю как это рабоатет, вот простой скрипт который пересчитывает корзину:
//... Это динамическая форма с корзной, $korzina типа сессионный array в нем хранятся артикулы, $korzina2 тоже типа array, в нем хранится количетсов каждого артикула, $sizeschart - здесь хранятся размеры каждого артикула (сайт продает одежду ) ).... print '<form action= 'catalog.php?action=basket&bec=rcalc ' method= 'post '>'; print '<table>'; while ($i<count($korzina)) : print '<tr>'; print '<td>'; print '$korzina[$i]</td><td>'; print '<div align= 'center '><input class= 'text ' type= 'text ' size= '2 ' name= 'pos$i ' value= '$korzina2[$i] '></div></td>'; print '<td><div align=center><input class= 'text ' type= 'text ' size= '4 ' name= 'size$i ' value= '$sizeschart[$i] '></div></td></tr>'; $i++; endwhile; print '<tr><td colspan= '3 ' align= 'right '> <input type= 'submit ' class= 'submit ' value= 'Пересчитать '> </form></td></tr>'; //А здесь ловится action и идет перерасчет корзины: if (isset($action)) { switch ($action) { .... case 'basket' : if (isset($bec)) { if ($bec == 'rcalc') : $i=0; while ($i<count($korzina)) : $temp = 'pos$i'; $tempsize = 'size$i'; //${$temp} - используется для перемнных с динамическими названиями if (${$temp} == 0) { array_splice ($korzina, $i, 1); array_splice ($korzina2, $i, 1); array_splice ($sizeschart, $i, 1); } else { $korzina2[$i] = ${$temp}; $sizeschart[$i] = ${$tempsize}; } $i++; endwhile; endif; break; } } }
0
|
|
|
1 / 1 / 0
Регистрация: 13.05.2009
Сообщений: 244
|
|
| 29.06.2010, 13:21 [ТС] | |
|
Мне надо получить значение $kvo[$X] - это количество товара. Спасибо за скрипт - буду разбираться!
0
|
|
|
4 / 4 / 3
Регистрация: 25.05.2009
Сообщений: 2,576
|
|
| 29.06.2010, 14:23 | |
|
>Мне надо получить значение $kvo[$X] - это количество товара
Исходя из того, что ты написал, тебе нужно count($_SESSION['kvo']);
0
|
|
|
1 / 1 / 0
Регистрация: 13.05.2009
Сообщений: 244
|
|
| 29.06.2010, 15:51 [ТС] | |
|
Нет. Во-первых это не сессионная переменная, а во-вторых $kvo[$x] это
не количество позиций в корзине, а количество каждого товара отобранного в корзину. Например Свечи декоративные - 20 штук. Шары - 50 штук. Вот в первом случае $kvo[$x]=20, а во втором $kvo[$x]=50 На самом деле в action формы я передаю несколько параметров (артикул, наименование и т.д.), но это заранее определенные данные и они передаются без проблем, а вот количество (сколько же он хочет этих шаров?)изменяется от изначального нуля и с этим проблема...
0
|
|
|
4 / 4 / 3
Регистрация: 25.05.2009
Сообщений: 2,576
|
|
| 29.06.2010, 17:45 | |
|
это делается не так, в массив ты заносишь id товара потом делаешь
array_count_values($array) и получаешь количество каждого товара.
0
|
|
|
1 / 1 / 0
Регистрация: 13.05.2009
Сообщений: 244
|
||||||
| 30.06.2010, 07:07 [ТС] | ||||||
|
Сделал немного по другому. Вот сокращенный вариант:
0
|
||||||
| 30.06.2010, 07:07 | |
|
Помогаю со студенческими работами здесь
17
Как передать POST параметр через форму, если обработчик не принимает его Как передать массив из базы данных (передать массив из php в javascript методом ajax) как послать параметр через <a href= 'show.php?id=$idkategoria '>$kategoria </a> ? PHP Session, как правильно получить GET параметр и сохранить его в сессии Как передать значение из php в js? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Первый деплой
lagorue 16.01.2026
Не спеша развернул своё 1ое приложение в kubernetes.
А дальше мне интересно создать 1фронтэнд приложения и 2 бэкэнд приложения
развернуть 2 деплоя в кубере получится 2 сервиса и что-бы они. . .
|
Расчёт переходных процессов в цепи постоянного тока
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
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
|