2014-02-22 30 views
0

我想在表单中链接一个动作一个PHP脚本:但是它回来与错误路径父在HTML表单操作字符串忽略

<form action='../includes/RC_APP/process_login.php' method="post" name="login_form"> 

: 所请求的网址/包括/ RC_APP /process_login.php在此服务器上未找到。

的PHP包括做工精细:

<?php 
include_once '../includes/RC_APP/db_connect.php'; 
include_once '../includes/RC_APP/functions.php'; 

我唯一的想法是,在HTML不会处理Web服务器文档根目录,而PHP将上述访问;但是这与将PHP包含文件保存在Web服务器文档根目录之外的安全建议相矛盾。

任何意见将不胜感激。

+0

使用基本路径,然后使用您的目录和文件名。 –

+0

谢谢,我认为basepath是一个PHP函数而不是HTML;会查找并澄清。 – Roddy

+0

为什么直接发布到includes目录中的文件?似乎有点奇怪.. – Ohgodwhy

回答

0

您需要在头部设置基本路径。

这样的:

<head> 
<base href="your_site/sub_directory/"> 
</head> 

的基础标签使一切环节不同,包括同一页面的锚链接到基础代码的网址,而不是,如:

<a href='?update=1'>A link to this page</a> 

成为

<a href='your_site/sub_directory/?update=1' title='Some title'>A link to the base tag's page instead</a> 

如果你需要去基地路径中相同目录中的另一个文件夹,例如一个文件夹包含在basep ATH目录链接,通过这种方式:

<a href='includes/'>A link to this page</a> 

,如果你需要去的基本路径的另一父文件夹如文件夹包括:

<a href='..includes/'>A link to this page</a> 

看到更多的细节:Is it recommended to use the <base> html tag?

+0

嗨,谢谢你的答案,但我不知道这将如何缓解这个问题,因为它不是文档根的子目录是问题,而是文档根目录之上的目录。 即使使用HTML标头中的Base标签,错误也是一样的;它似乎在放弃../父指示符。 – Roddy

+0

我想我已经找到了我的问题的答案,因为表单操作无法访问文档根目录之上的任何内容: http:// stackoverflow。com/questions/11390420/html-form-action-using-a-php-file -a-root-directory – Roddy