我在localhost上使用Xampp / Apache服务器。
我正在尝试对张贴到" register.php"的表单上使用操作。
<form method="post" action= "<?php echo htmlspecialchars($_SERVER["register.php"]);?>">
我收到403错误&#34;禁止访问&#34;。
在网址中声明:
<br%20/><b>Notice</b>:%20%20Undefined%20index:%20register.php%20in%20<b>C:/xampp/htdocs/2001/create_account.php</b>%20on%20line%20<b>45</b><br%20/>
(第45行的错误,即上面的代码行。)
此代码所在的文件是php文件create_account.php
我试过改变apache的httpd.conf权限,没有变化。我试过在其他地方找到解决方案,但没有运气修复。答案 0 :(得分:0)
您需要仔细阅读$ _SERVER的手册页 http://www.php.net/manual/en/reserved.variables.server.php
你可能会发现动作=&#34; register.php&#34;就是你需要的一切
答案 1 :(得分:0)
在您的代码示例中,您尝试调用未定义的键,$_SERVER
数组没有,因此您遇到错误。
$_SERVER
是一个php超全局,它的形式是一个数组。数组可以是索引的,关联的或多维的。关联数组使用键来访问值('key' => 'value')
。关联数组的示例:
$person=array('Name' => 'John', 'Last name' => 'Spencer', 'Age' => 22);
为了获得John的姓氏,您首先需要指定保存所有信息的数组($person
),然后通过该数组通过该数组请求某些信息键(['Last name']
)。此类请求的示例:
$lastName=$person['Last name'];
如果您已经知道要访问的页面,则应将其作为纯文本(method="register.php"
)以HTML格式输入,这样就不需要任何PHP功能。功能htmlspecialchars()
也不是必需的,因为您是打字的人,并且不需要清理自己的输入。
比纯文本更好但是使用$_SERVER['PHP_SELF']
会返回您当前所在页面的相对路径。这种方式比以前更好,因为如果在某些时候您要重命名文件,则不必像以前的示例那样更改为表单的方法值。
最后,如果您未离开当前所在的网页,也可以将空字符串作为方法(method=""
)。
建议进一步阅读: