我们已经多次看到过,<form>标记的action属性将一个表单与处理该表单的一个PHP脚本相连接。将用户表单的动作设置为指向PHP脚本,这样就能允许它自我处理,这是实现表单粘性的第一步。实际上,表单已经将其action属性设置为这个脚本。
只要你对脚本重命名后没有忘记更新代码,这个代码都可以很好地工作。不过还有一个更好的办法能确保正常工作,因为它不依赖于特定的脚本文件名。这就是利用内置的PHP超级变了$_SERVER[‘PHP_SELF’],其中存储了当前脚本的名字。可以将表单动作中的脚本URL替换为$_SERVER[‘PHP_SELF’],这样一来就不用操心需要重命名脚本时考虑对代码做那些更新。
唯一要注意的是,$_SERVER[‘PHP_SELF’]是PHP代码,这说明必须用echo回显输出它的值作为HTML代码的一部分。必须承认,使用$_SERVER[‘PHP_SELF’]取代脚本名并不是一个惊天动地的改进,不过利用这样一些小技巧确实可以让你的脚本更易于维护。$_SERVER[‘PHP_SELF’]用来存储当前脚本名,这个新的自引用脚本提供了改进的表单验证逻辑,web服务器上不再需要相关的HTML页面,所以完全可以将它删除。