输入复选框名称将句点符号转换为帖子的下划线

时间:2010-05-23 11:31:16

标签: php forms

目前我正在制作图片库。当用户登录时,每个图像上都会出现一个x,并且旁边有一个复选框,以便用户删除该图像。只有选中复选框才会删除图像。

它们都在(图库中每个图像一个)中,小图像“x.gif”是提交$ _POST表单的输入类型=“图像”。该复选框继承了图像的名称,用于防止意外按下x按钮并删除图像。

问题是复选框名称在发布后会从(例如)

转换

“Image.jpg”到“Image_jpg”

当我用print_r($ _ POST);

测试它时

我应该创建用于在帖子之后将_jpg或_gif替换为.jpg和.gif的代码,还是可以在输入名称中使用句点符号?

非常感谢任何帮助。

3 个答案:

答案 0 :(得分:2)

这是标准的PHP行为。更多信息here

_jpg_gif上执行手动str_replace是一个坏主意,因为这些字符串也可能出现在文件名中:

winter_impression_jpg_strong_colours.jpg

在这种情况下,文件名将变得无法使用。

你可以选择

  • 使用其他一些字符组合掩盖点(例如___DOT___

  • 更改逻辑:编号字段(checkbox_1 checkbox_2 ....)并将名称存储在单独的字段中(checkbox_1_name = "image.jpg"

答案 1 :(得分:0)

而不是使用input type="image"使用普通img标记并将x图像放入其中,然后根据这些更改修改代码,否则您只需用点替换下划线

答案 2 :(得分:0)

我建议更改表单的结构,以便确认一个字段(复选框),一个字段用于名称(隐藏)和提交按钮(图像):

<input type="checkbox" name="confirmation" />
<input type="hidden" name="target" value="file.jpg" />
<input type="image" />