【发布时间】:2010-11-01 05:08:57
【问题描述】:
您能看出这段代码有什么问题吗,或者可以对其进行优化吗?
来自 index.php 的代码,用于包含文件
if(empty($_GET['t'])) {
$folder = "apps/";
}else {
$folder = str_replace("/", "", $_GET['t']) . "/";
}
if(empty($_GET['app'])) {
include('apps/home.php');
} else {
if(file_exists($folder.$app.".php")) {
include($folder.$app.".php");
} else {
include("/home/radonsys/public_html/global/error/404.php");
}
}
我的问题?一个页面,它发布到自己没有找到它的页面并返回到那个 404 页面。
如果需要,我可以包含该页面的表单代码吗?
来自 bugs.php 的代码
<form method="post" action="">
<div>Title</div>
<div><input name="title" type="text" class="bginput" value="" size="59" tabindex="1" /></div>
<br />
<div>
<label class="smallfont">
Application
<select name="app" style="display:block; width:200px" tabindex="2">
<option value="Admin CP">AdminCP</option>
<option value="Add User">Add User</option>
<option value="Bugzilla">Bugzilla</option>
<option value="Portal">Portal</option>
<option value="To Do">To Do</option>
<option value="Internal Messages">Internal Messages</option>
<option value="User CP">UserCP</option>
<option value="Change Password">Change Password</option>
<option value="Change Email">Change Email</option>
<option value="General">General</option>
</select>
</label>
</div>
<br />
<div>Bug Description</div>
<textarea name="content" style="width:7%"></textarea>
<br />
<div>
<label class="smallfont">
Priority
<select name="priority" style="display:block; width:200px" tabindex="2">
<option value="0" selected="selected">Unknown</option>
<option value="1">1 - Highest</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5 - Medium</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
<option value="10">10 - Lowest</option>
</select>
</label>
</div>
<br />
<input type="submit" value="Save" />
</form>
澄清
上面的脚本在index.php中,它在页面上调用,例如,?app=bugs在apps文件夹中包含bugs.php。
bugs.php 脚本中的内容使用 POST 向自身发送数据,但是,由于我们遇到错误页面 404.php,因此发布数据永远不会到达页面本身
【问题讨论】:
标签: php html forms include directory