Php 如何访问我的url中的slug值?
我想知道为什么我的代码没有显示任何结果 我在home.php页面中有一个链接,如下所示:Php 如何访问我的url中的slug值?,php,url,slug,Php,Url,Slug,我想知道为什么我的代码没有显示任何结果 我在home.php页面中有一个链接,如下所示: <a href="../musica/'.$row['slug'].'">Click here</a>` select * from musical layers where slug = $slug 我的查询如下所示: <a href="../musica/'.$row['slug'].'">Click here</a>` select * from
<a href="../musica/'.$row['slug'].'">Click here</a>`
select * from musical layers where slug = $slug
我的查询如下所示:
<a href="../musica/'.$row['slug'].'">Click here</a>`
select * from musical layers where slug = $slug
但它没有归还任何东西
这是我的超链接指向的完整url:
scrashmusicas.epizy.com/musica/wesley-safadao-banda-garota-safada
没有错误,但我无法获得slug值。有人能帮我吗
这是我的musica.php文件的相关部分:
$slug = $_GET['slug'];
$result_capa = "select * from capas_musicas where slug = $slug";
$resultados_capa = mysqli_query($conn, $result_capa);
while($row = mysqli_fetch_assoc($resultados_capa)){
echo '
<li>
<a href="../musica/'.$row['slug'].'">
<div class="box_destaque">
<img src="'.$row['capa_album'].'" border="0"/>
<strong>'.$row['nome_album'].'</strong>
<span>'.$row['categoria_album'].'</span>
</div>
</a>
</li>
';
}
尝试更改为:
<a href="../musica/?slug='.$row['slug'].'">Click here</a>
有几件事需要解决
$slug = $_GET['slug'];
如果$\u GET superglobal中没有slug键,您将收到通知。在尝试访问/使用该值之前,需要检查它是否已设置
$result_capa = "select * from capas_musicas where slug = $slug";
此查询不安全。每次在查询中使用用户提供的数据或通常不安全的数据时,都需要使用带占位符的准备语句。对于您当前的代码,$slug至少需要单引号包装,当然,除非它是一个整数——但仍然要使用一个准备好的语句
至于$\u-GET,您的href值中没有提供查询字符串,因此没有通过$\u-GET传递任何内容
在musica.php脚本上调用$\u SERVER['REQUEST\u URI']将生成以下字符串值:
/musica/wesley-safadao-banda-garota-safada
要访问段塞值,请使用以下命令:
$path=parse_url($_SERVER['REQUEST_URI'],PHP_URL_PATH);
$slug=substr($path,strrpos($path,'/')+1);
或者只是:
$slug=substr($_SERVER['REQUEST_URI'],8); // access substring after "/musica/"
它不起作用,即使这个方法起作用,也不是我需要的,明白吗?请在两个文件