Входное имя флажка преобразовывает знаки периода в подчеркивания на сообщении

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

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

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

"Image.jpg" к "Image_jpg"

Когда я тестирую его с print_r ($ _POST);

Я должен создать код для замены _jpg или _gif в .jpg и .gif после сообщения или являюсь там способом позволить использовать период, входит в систему входные имена?

Любая справка значительно ценится.

1
задан Rakoon 23 May 2010 в 11:31
поделиться

3 ответа

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

<input type="checkbox" name="confirmation" />
<input type="hidden" name="target" value="file.jpg" />
<input type="image" />
0
ответ дан 3 September 2019 в 00:21
поделиться

Это стандартное поведение PHP. Больше информации здесь.

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

winter_impression_jpg_strong_colours.jpg

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

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

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

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

2
ответ дан 3 September 2019 в 00:21
поделиться

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

0
ответ дан 3 September 2019 в 00:21
поделиться
Другие вопросы по тегам:

Похожие вопросы: