在隐藏类型文本区域中,我们可以在值fileld中给出函数。
有人能解释一下下面两行是干什么的吗?
echo "<INPUT TYPE='"HIDDEN'" NAME='"NVOAction'" VALUE='"Authenticate()'">'n";
echo "<INPUT TYPE='"HIDDEN'" NAME='"NVORedirect'" VALUE='"redirectwebsite.com'">'n";
以下是完整的代码。
echo "<HTML>'n";
echo "<HEAD>'n";
echo "<TITLE>Name</TITLE>'n";
echo "<META http-equiv='"Content-Type'" content='"text/html; charset=iso-8859-1'">'n";
echo "<META NAME='"pragma'" CONTENT='"no-cache'">'n'n";
echo "</HEAD>'n";
echo "<BODY bgcolor='"#FFFFFF'" text='"#000000'" onLoad='"javascript:document.nvoForm.submit();'">'n'n";
echo "<FORM NAME='"nvoForm'" METHOD='"POST'" ACTION="website.com">'n";
echo "<INPUT TYPE='"HIDDEN'" NAME='"NVOAction'" VALUE='"Authenticate()'">'n";
echo "<INPUT TYPE='"HIDDEN'" NAME='"NVORedirect'" VALUE='"redirectwebsite.com'">'n";
echo "<INPUT TYPE='"HIDDEN'" NAME='"NVOTarget'" VALUE='"_top'">'n";
echo "<INPUT TYPE='"HIDDEN'" NAME='"nssaccount'" VALUE="account">'n";
echo "<INPUT TYPE='"HIDDEN'" NAME='"nssuser'" VALUE="user">'n";
echo "<INPUT TYPE='"HIDDEN'" NAME='"nsspassword'" VALUE="pass">'n";
echo "</FORM>'n'n";
echo "</BODY>'n";
echo "</HTML>'n";
如果我正确理解你,并且你的函数返回了一个字符串,你就可以执行:
echo "<INPUT TYPE='"HIDDEN'" NAME='"NVOAction'" VALUE='"".Authenticate()."'">'n";
注意:
正如你在SO的代码高亮显示中看到的那样,你有几行可能会中断,因为你无法转义你的属性引号,比如这一行:
echo "<FORM NAME='"nvoForm'" METHOD='"POST'" ACTION="website.com">'n";
它需要:
echo "<FORM NAME='"nvoForm'" METHOD='"POST'" ACTION='"website.com'">'n";
更新我重读了你的问题,下面是我的最新答案。
// This line will (when fixed according to above) create an HTML form input,
// and give it the value of whatever is returned by the Authenticate() method
echo "<INPUT TYPE='"HIDDEN'" NAME='"NVOAction'" VALUE='"Authenticate()'">'n";
// This line will create an HTML form input and give it the
// value of redirectwebsite.com
echo "<INPUT TYPE='"HIDDEN'" NAME='"NVORedirect'" VALUE='"redirectwebsite.com'">'n";