|
|
|
|
|
для: Konst
(22.07.2005 в 15:42)
| | А что находится в vname? Эту функцию обычно применяют для удаления слешей, добавленных опцией сервера "магические кавычки". | |
|
|
|
|
|
|
|
для: Konst
(22.07.2005 в 13:09)
| | Еще вопросик. Косвенно по теме )) На стр. 218, 5.1.3. Удаление HTML-тегов и обратных слэшей в книге "PHP5 Практика создания сайтов" описывается функция STRIPSLASHES.
Пишу
$vname=$_POST['vname'][$vid];
$vname=STRIPSLASHES($vname);
|
Слэши не удаляются, все выводится как есть. Есть ли может быть какие-то особые условия работы этой функции и зависит ли она от версии и настроек PHP? | |
|
|
|
|
|
|
|
для: cheops
(22.07.2005 в 14:04)
| | Ок, спасибо большое!!!! | |
|
|
|
|
|
|
|
для: Konst
(22.07.2005 в 13:51)
| | В этом случае следует поступить следующим образом
<?php
echo $_POST['vname'][$_POST['vid']]
?>
|
| |
|
|
|
|
|
|
|
для: Konst
(22.07.2005 в 13:51)
| | Ок, я все исправил. Рабочая записть выглядить вот так:
$vid=$_POST['vid'];
ECHO $_POST['vname'][$vid];
|
Просто странно, почему $vid стразу не вставлялсь в $_POST['vname'][$vid]; или в $_POST['vname']['vid']; , хотя возможно это просто такой синтаксис строгий. | |
|
|
|
|
|
|
|
для: cheops
(22.07.2005 в 13:43)
| | Передаю $vid через hidden.
Если выводить данные через этот код (переданное $vid через Hidden равно 1)
echo "<pre>";
print_r($_POST);
echo "</pre>";
ECHO $_POST['vname'][1];
|
То получится:
Array
(
[vid] => 1
[vname] => Array
(
[1] => Привет
)
[vorder] => Array
(
[1] => 1
)
[vshow] => Array
(
[1] => 1
)
[vsave] => Сохранить
)
Привет
А если через код
echo "<pre>";
print_r($_POST);
echo "</pre>";
ECHO $_POST['vname'][$vid];
|
То только:
Array
(
[vid] => 1
[vname] => Array
(
[1] => Привет
)
[vorder] => Array
(
[1] => 1
)
[vshow] => Array
(
[1] => 1
)
[vsave] => Сохранить
)
Соответсвенно $_POST['vname'][$vid]; нужно как-то сделать чтобы в [$vid] подставлялось значение $vid переданное через Hidden... | |
|
|
|
|
|
|
|
для: Konst
(22.07.2005 в 13:37)
| | print_r сообщает о том, что вам следует обращаться к массиву как
<?php
echo $_POST[vname][1];
?>
|
т.е. $vid должен принимать значение 1, восстановить в обработчике его можно различными способами в том числе и передачей через скрытое поле. | |
|
|
|
|
|
|
|
для: cheops
(22.07.2005 в 13:22)
| | Код
<?php
echo "<pre>";
print_r($_POST);
echo "</pre>";
?>
|
Выводит, например:
Array
(
[vname] => Array
(
[1] => Номер один
)
[vorder] => Array
(
[1] => 12
)
[vshow] => Array
(
[1] => 1
)
[vsave] => Сохранить
)
Но в то же время echo $_POST['vname'][$vid]; не выводит ничего (
Или нужно передвать значение $vid через hidden???
P.S. Значение $vsave я сделал просто переменной, а не массивом, пока. | |
|
|
|
|
|
|
|
для: Konst
(22.07.2005 в 13:09)
| | В этом случае следует обрщаться к суперглобальному массиву $_POST следующимо образом
echo $_POST['vname'][$vid];
|
Вообще, чтобы было проще ориентироваться при отладке выводите дамп массива $_POST
<?php
echo "<pre>";
print_r($_POST);
echo "</pre>";
?>
|
| |
|
|
|
|
|
|
| Относительно недавно начал писать скрипты под register_globals=Off, и по этому поводу начали возникать некоторые вопросы.
Вывожу из базы данных с помощью FOR таблицу в которой каждая строка-форма:
<form name='$vid' method='POST' action=''>
<tr align='center'><td>$vid</td>
<td>
<input type='text' name='vname[$vid]' value='$f[qname]'>
</td>
<td>
<input type='text' name='vorder[$vid]' value='$f[qorder]'>
</td>
<td>
<input type='checkbox' name='vshow[$vid]' value='1' $vchecked>
</td>
<td>
<input type='submit' name='vsave[$vid]' value='Сохранить'>
</td>
</tr>
</form>
|
Потом в строку вводятся данные, которые должны быть выведены в этом же файле (action=''). Вопрос, как с помощью $_POST['имя_переменной_массива']; вывести значение переданного значения массива обыкновенного )). Просматривал то, что передается в суперлобальные массивы с помощью phpinfo(32), все передается хорошо, но как это вывести??? Ведь запись в виде $_POST['vname[$vid]']; не верна же??? | |
|
|
|
|