Php 获取页面名称以便删除它
我有一个包含页面名称和id的数据库。我可以获取页面id,但如何获取页面名称 我试图做的是删除物理目录中的页面,但失败了。我将文件名和id存储在数据库中。我想从数据库中获取文件名,但我不确定如何使用$current_page变量从数据库中获取文件名 $current_page变量是通过以下方式生成的:Php 获取页面名称以便删除它,php,mysqli,get,sql-delete,Php,Mysqli,Get,Sql Delete,我有一个包含页面名称和id的数据库。我可以获取页面id,但如何获取页面名称 我试图做的是删除物理目录中的页面,但失败了。我将文件名和id存储在数据库中。我想从数据库中获取文件名,但我不确定如何使用$current_page变量从数据库中获取文件名 $current_page变量是通过以下方式生成的: $current_page = find_page_by_id($_GET["page"], false); 按id查找页面的功能是 function find_page_by_id($page_
$current_page = find_page_by_id($_GET["page"], false);
按id查找页面的功能是
function find_page_by_id($page_id, $public=true) {
global $connection;
$safe_page_id = mysqli_real_escape_string($connection,
$page_id);
$query = "SELECT * ";
$query .= "FROM pages ";
$query .= "WHERE id = {$safe_page_id} ";
if ($public) {
$query .= "AND visible = 1 ";
}
$query .= "LIMIT 1";
$page_set = mysqli_query($connection, $query);
confirm_query($page_set);
if($page = mysqli_fetch_assoc($page_set)) {
return $page;
} else {
return null;
}
}
为了删除一个页面,您必须通过管理页面对当前页面的ID进行编码,然后对其进行解析以删除页面。但是对于菜单名,我该怎么做呢
管理页面:
<?php if ($current_page) { ?>
<h2><?php echo
htmlentities($current_page["menu_name"]); ?><br /></h2>
Menu name: <?php echo
htmlentities($current_page["menu_name"]); ?><br />
Position: <?php echo
($current_page["position"]); ?><br />
Content:<br />
<div class="view-content">
<?php echo
nl2br(htmlentities($current_page["content"])); ?>
</div>
<br />
<br />
<a href="edit_page.php?page=<?php echo
urlencode($current_page['id']); ?>">Edit Page</a>
<br />
<br />
<a href="delete_page.php?page=<?php echo
urlencode($current_page["id"]) ?>" onClick="return confirm('Are you sure you want to delete page?')">Delete page</a>
<?php } else { ?>
<p class="welcome">Welcome to H H Lee & Associates Dental Surgery’s dashboard!</p>
<p>To start navigating, please click on the "Menu" on the top left hand corner.</p>
<?php }?>
$\u服务器
数组包含当前运行页面上的所有信息
如果要获取当前运行的PHP页面的文件名,可以使用:
$_SERVER["SCRIPT_NAME"];
这将返回当前文件的绝对文件路径。请记住,这将包括该文件之前的所有目录,因此如果要从文件名中截断父目录树,则可能必须使用类似于
substr()
的方法。是否指页面文件名?是页面文件名。服务器听起来有点过分了。我还有其他的方法可以用吗?如果我使用$\u服务器方法。如何使用substr()截断?
function find_page_by_id($page_id, $public=true) {
global $connection;
$safe_page_id = mysqli_real_escape_string($connection,
$page_id);
$query = "SELECT * ";
$query .= "FROM pages ";
$query .= "WHERE id = {$safe_page_id} ";
if ($public) {
$query .= "AND visible = 1 ";
}
$query .= "LIMIT 1";
$page_set = mysqli_query($connection, $query);
confirm_query($page_set);
if($page = mysqli_fetch_assoc($page_set)) {
return $page;
} else {
return null;
}
}
function confirm_query($result_set) {
if (!$result_set) {
die("Database query failed: ".
mysqli_connect_error() .
" (" . mysqli_connect_errno(). ")"
);
}
}
$_SERVER["SCRIPT_NAME"];