$HTTP_POST_VARS vs $_POST

Статус
В этой теме нельзя размещать новые ответы.

MadGreen

meninweb
$HTTP_POST_VARS vs $_POST

Может глупый вопрос, просто не пойму в чем дело.
До недавнего времени успешно передавал массив через $HTTP_POST_VARS[''], попытался перевести на $_POST[''] - массива нет. В чем причина?
 

Фанат

oncle terrible
Команда форума
О, в этом случае причина очевидна - собственные кривые руки.
 

Profic

just Profic (PHP5 BetaTeam)
могу только подтвердить слова Фаната, ибо $_POST проявился аж в php 4.1.0

такой "нормальный ответ" тебя устроит?
 

Фанат

oncle terrible
Команда форума
MadGreen
Можно.
Если задать нормальный вопрос.
а не детский лепет вида "Я сделал, у меня не получается. Отгадайте - почему?"
 

MadGreen

meninweb
Хорошо:

формой передаются номера удаляемых файлов
PHP:
                for ($i=0; $i <$k; $i++)
                        {

                        echo '<form method="post">';
                        echo '<td align=center><INPUT WIDTH: 15px; type=checkbox name="del_damp[]" value='.$i.'></INPUT></tr>';
                        }
скриптом принимаются:
$del_damp_array=$HTTP_POST_VARS['del_damp'];


в случае $_POST['del_damp'];
возникает Undefined index: A

-~{}~ 09.07.05 19:54:

прошу прощения echo '<form method="post">'; в цикл забабахал с горяча
 

Фанат

oncle terrible
Команда форума
ткбк известно, что означает сообщение об ошибке Undefined index: A?
 

MadGreen

meninweb
неопределенный индекс массива если не ошибаюсь.
мне непонятно почему в случае
$del_damp_array=$HTTP_POST_VARS['del_damp']; все работает
а в случае
$del_damp_array=$_POST['del_damp']; начинаются проблемы
 

Фанат

oncle terrible
Команда форума
проблемы в твоём коде.
которого кроме тебя никто не видел.
сообщение об ошибке означает, что у тебя не определён индекс А!
А про индекс del_damp никакого сообщения не выводится.
Начинает доходить? или ответ всё ещё ненормальный?
 

MadGreen

meninweb
я имею ввиду что $_POST['del_damp']; не содержит те номера которые отдаются формой, тогда как $HTTP_POST_VARS['del_damp']; все выдает корректно.

а про Undefined index: A я писал потому что обращение к массиву по номеру не проходит в случае $_POST['del_damp'];

-~{}~ 09.07.05 20:50:

согласе с индексом я лоханулся не привел кусок кода где он опрашивается...
но в том все и дело что del_damp - это и есть по сути массив индексов используемых в скрипте
и в зависимости от того как его принимать он либо содержит порядковые номера чекбоксов формы либо содержит 5 элементов A R R A Y
(откуда и появляется А)
 

SiMM

Новичок
[m]echo[/m] не умеет выводить массивы. Вместо них он выводит Array
[m]var_dump[/m]
 

MadGreen

meninweb
PHP:
echo '<form method="post">';
                        for ($i=0; $i <$k; $i++)
                        {

                        echo '<tr><td align=left width=25>'.($i+1).'<td align=left width=180><b>'.$files[$i].'</b></td>'; // отображение названий файлов

                        echo '<td align=right>'.getfilesize($volume).'</td>'; // отображение размера файла
                        echo '<td><a target=_blank href=';
                        echo $dress.$files[$i];
                        echo '>Сохранить</a></td>';

                        echo '<td align=center><INPUT WIDTH: 15px; type=checkbox name="del_damp[]" value='.$i.'></INPUT></tr>';
                        }

                        echo '<tr><td colspan=4 align=left class=minihelp>Для удаления выделите файл и нажмите кнопку:<td><input type="Image" name="Submit" src="images/del_file.gif" border="0" alt="удалить"></td></tr>';
                        echo '</form>';
принимаем список удаляемых файлов
PHP:
$del_damp_array=$HTTP_POST_VARS['del_damp'];

for ($i=0; $i <(count ($del_damp)); $i++)
                {
                 // текущий номер удаляемого файла
                 $del = $del_damp_array[$i];
                 $name=$files[$del]; // массив названий файлов определен в начале скрипта

// дальше отображение массивов, сервисные функции и т.д.

                 }
-~{}~ 09.07.05 21:08:

я выводил массив print_r а не echo
 

Demiurg

Guest
как ты думаешь, что у тебя в переменной $del_damp ?
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху