|
1 / 1 / 0
Регистрация: 13.05.2009
Сообщений: 244
|
|
Как передать параметр в PHP?28.06.2010, 13:06. Показов 4415. Ответов 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? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
|
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение.
И на уровне агентов добавится между грибами или бактериями взаимодействий.
До того я пробовал подход через многомерные массивы,. . .
|
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
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-динозавры, а новое поколение лёгких потоков. Откат?. . .
|