2013-01-13 40 views
0

我正在尝试编写一个网站的管理面板。我想要编写的功能很简单: 将会有一个项目列表,并且在项目名称旁边会出现一个名为'edit'的按钮。该按钮将引导用户到另一个页面,在那里他可以编辑该特定项目。区分哪些按钮具有相同的值被按下

让我感到困惑的是,我无法确定哪个按钮被按下,除非我专门检查了每个按钮(对不对?)。如果所有按钮具有相同的名称和不同的值而不是不同的名称和相同的值,则会有所帮助。

那么有没有一种方法可以实际分辨哪个项目的按钮被按下?

在此先感谢

+0

你是如何设置的?具有多个“编辑”提交按钮的表单?或者每个项目都有一个隐藏的值和一个'编辑'提交按钮? – Jon

+0

您是否试图找出哪个按钮是通过按下按钮上的页面上的JS按钮或通过它导致的页面上的PHP按下的? – Mooseman

+0

我使用PHP从它通向的页面访问它。 – STE

回答

1

大多数浏览器将发送button元素的value属性的值:

<button type="submit" name="id" value="123">Edit</button> 

但是如果你需要支持旧版本的IE,你可以使用arraylike名

<input type="submit" name="id[123]" value="Edit" /> 

访问php:

<?php 

$id = key($_POST['id']); 
+0

第二个想法并不好。当我试图回显$ id时,它只会输出'Array'并且会出现一个php错误。 第一个想法完美,我希望我不会有太多麻烦使用它。管理面板仅用于现代浏览器,主要用于Chrome和Safari。 – STE

+0

第二种方法,'$ _POST ['id']'是一个数组,这就是为什么我也发布'$ id = key($ _ POST ['id']);'这应该从这个数组中获得当前键。如果你已经使用了'key'函数,并且输出仍然有数组,那么你的表单中就会出现一些错误(其他元素使用'name = id [123] [123]'?) –

+0

哦,我没有看到关键字()函数:)完美再次感谢! – STE