如果不定义$SCRIPT_NAME变量,这个php表单如何工作?
<form action="<?php echo $SCRIPT_NAME ?>" method="post">
此代码依赖于古老的、弃用的和可怕的register_globals
功能,该功能从所有$_REQUEST
、$_COOKIE
和$_SERVER
字段创建全局变量。
我强烈建议您删除此代码并禁用register_globals
设置。
有一个变量$_SERVER['SCRIPT_NAME'],它打印出当前脚本的名称。你可以在这里找到一些信息:http://php.net/manual/en/reserved.variables.server.php
我怀疑这就是被使用的东西。
变量$_SERVER['PHP_SELF']
将提供执行脚本的相对路径,变量$_SERVER['SCRIPT_NAME']
将提供当前脚本名称。
另一种选择是使用$_SERVER['SCRIPT_FILENAME']
或常量FILE,它们分别给出绝对路径。
应该优先使用这些功能,而不是像@ThiefMaster所说的那样使用register-globals
功能。