Входной флажок имя преобразует знаки периода в подчеркивания на пост - PullRequest
1 голос
/ 23 мая 2010

Я сейчас работаю над галереей изображений.Когда пользователь вошел в систему, над каждым изображением появляется крестик и рядом с ним флажок, позволяющий пользователю удалить это изображение.Только если флажок установлен, изображение будет удалено.

Они оба находятся в (по одному для каждого изображения в галерее), маленькое изображение "x.gif" является входным типом = "изображение", котороеотправляет форму $ _POST.Этот флажок наследует имя изображения и предотвращает случайное нажатие кнопки x и удаление изображения.

Проблема заключается в том, что имя флажка после публикации преобразуется из (например)

«Image.jpg» - «Image_jpg»

Когда я проверяю его с print_r ($ _ POST);

Должен ли я создать код для замены _jpg или _gif на .jpg и .gif послесообщение или есть способ сделать возможным использование знаков периодов во входных именах *

Любая помощь очень ценится.

Ответы [ 3 ]

2 голосов
/ 23 мая 2010

Это стандартное поведение PHP. Подробнее здесь .

Выполнение ручного str_replace на _jpg или _gif - плохая идея, потому что эти строки могут также появляться в имени файла:

winter_impression_jpg_strong_colours.jpg

В этом случае имя файла станет непригодным для использования.

В качестве альтернативы вы можете либо

  • Маскируйте точки, используя другую комбинацию символов (например, ___DOT___)

  • Изменить логику: иметь пронумерованные поля (checkbox_1 checkbox_2 ....) и сохранить имя в отдельном поле (checkbox_1_name = "image.jpg")

0 голосов
/ 23 мая 2010

Я бы порекомендовал изменить структуру вашей формы, чтобы иметь поле для подтверждения (флажок), одно поле для имени (скрытое) и кнопку отправки (изображение):

<input type="checkbox" name="confirmation" />
<input type="hidden" name="target" value="file.jpg" />
<input type="image" />
0 голосов
/ 23 мая 2010

Вместо использования input type="image" используйте обычный тег img и поместите туда изображение x, а затем измените свой код в соответствии с этими изменениями, в противном случае вы можете просто заменить подчеркивание точкой.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...