我是新手。我想知道如何在CGI中处理基于数组的字段?
<form name="frmLogin" method="get" action="">
Username: <input type="text" name="login[username]" /><br/>
Password: <input type="password" name="login[password]" /><br/>
<input type="submit" name="login[submit]" />
</form>
我有一个类似上面的表单。如何将登录字段作为字典,其中关键字将是用户名,密码,提交及其相应的值。
我可以单独得到这个=>表单["login[username]"].value但如果我不知道密钥,也就是复选框[]我需要处理的职位和手动编码操作或有任何其他方式做到这一点?
php $_GET['login']中的将给我定义的键值对数组,我需要这样的东西。
谢谢。
我不认为cgi.FieldStorage
有一个类似的方法,你在php中描述的。但是,您可以编写类似这样的代码来完成相同的事情,给定字段名称的名称[attr]格式:
def get(form, prefix):
output = {}
def parse(key):
name = key.split('[')[1].rstrip(']')
output[name] = form[key]
map(parse, [key for key in form.keys() if key.startswith(prefix)]
return output
那么,在cgi中它看起来就像:
form = cgi.FieldStorage()
login_info = get(form, 'login')
print login_info['username']
print login_info['password']