2010-05-23 28 views
1

下划线我在眼下的图片库工作。当用户登录时,每个图像上都会显示一个x,并在其旁边显示一个复选框,以便用户删除该图像。只有当复选框被选中时,图像才会被删除。输入复选框的名字时期的标志转换成在后

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

的问题是,该复选框的名字,一经登载它会从(例如)

“image.jpg的” 转换为 “Image_jpg”

当我的print_r($ _ POST)测试;

我应该更换_jpg或_gif为.JPG和.gif后门柱创建代码还是有办法使它能够在输入名称中使用期的迹象?

任何帮助,非常感谢。

回答

0

我建议改变你的结构形式有确认(复选框)一个字段的字段的名称(隐藏)和您的提交按钮(图像):

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

隐藏的领域是一个好主意。我自己没有想到这件事,我觉得有点不好。想想我会用它。 非常感谢回复。 – Rakoon 2010-05-23 11:51:37

2

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

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

winter_impression_jpg_strong_colours.jpg

在这种情况下,文件名就成为无用的。有编号字段(checkbox_1checkbox_2 ....)和存储:

你可以或者要么

  • 使用的字符的一些其他组合(例如___DOT___

  • 更改逻辑面膜点(checkbox_1_name = "image.jpg"

+0

非常感谢了快速回复。 这是真的,一个替换可以改变这样的文件名,所以这将是更好的做只是在最后4个字符代替。然而,正如有人建议的那样,一个隐藏的字段可以做到这一点,并且与我迄今为止的代码一起工作良好,因为值中可以有点。 – Rakoon 2010-05-23 11:50:05

+0

@Rakoon yup,隐藏的领域将会很好。 (这就是我改变逻辑的意思。) – 2010-05-23 13:28:02

0

而不是使用input type="image"使用正常img标签,然后将x图像中,然后修改你的代码按这些变化,否则你可以简单地用一个点替换下划线。

+0

感谢您的快速回复。决定寻求隐藏输入的解决方案。 – Rakoon 2010-05-23 11:52:26

相关问题