如果没有定义$ SCRIPT_NAME变量,这个php表单如何工作?
<form action="<?php echo $SCRIPT_NAME ?>" method="post">
答案 0 :(得分:4)
此代码依赖于古老的,已弃用且可怕的register_globals
功能,该功能可从所有$_REQUEST
,$_COOKIE
和$_SERVER
字段创建全局变量。
我强烈建议您删除此代码并停用register_globals
设置。
答案 1 :(得分:1)
有一个变量$ _SERVER ['SCRIPT_NAME']打印出当前脚本的名称。您可以在此处找到相关信息:http://php.net/manual/en/reserved.variables.server.php
我怀疑这就是正在使用的东西。
答案 2 :(得分:0)
变量$_SERVER['PHP_SELF']
将为您提供执行脚本的相对路径,以及变量$_SERVER['SCRIPT_NAME']
提供当前脚本名称。
另一种方法是使用$_SERVER['SCRIPT_FILENAME']
或常量 FILE ,每个都给出绝对路径。
这些应该是首选和使用,而不是使用register-globals
功能,应该被禁用,如@ThiefMaster所说。