为了账号安全,请及时绑定邮箱和手机立即绑定

一种使用 switch 的方法,检查“url/file?get.php?[request uri]

一种使用 switch 的方法,检查“url/file?get.php?[request uri]

PHP
千巷猫影 2021-11-26 17:53:41
我试图检测 url 何时为“localhost/asignaciones”,但是当我通过按钮提交某些内容时 url 会发生变化,因此它会像这样“localhost/asignaciones?asg=2222”,所以“/asignaciones”是错误的$url = $_SERVER['REQUEST_URI'];    switch ($url) {    case "/asignaciones?ireelevant_stuff":    $asignaciones = 'active_button';    $combinaciones = 'unactive_button';    break;    case:    $asignaciones = 'unactive_button';    $combinaciones = 'active_button';    }抱歉,我不知道如何更好地解释它。谢谢@user3783243固定代码:    $url = $_SERVER['REQUEST_URI'];     $asiguri = 'asignaciones'; $comburi = 'combinaciones';$legauri = 'legajos';$inicuri = '/';switch (true) {    case strpos($url,$asiguri) === 1: //when $url = '/asignaciones' strpos returns '0' so 'asignaciones' returns '1'. when it returns 1 the code executes until the break        $asignaciones = 'active_button';        $combinaciones = $legajos = $inicio = 'unactive_button';        break;    case strpos($url,$comburi) === 1:        $asignaciones = $legajos = $inicio = 'unactive_button';        $combinaciones = 'active_button';        break;    case strpos($url,$legauri) === 1:        $asignaciones = $combinaciones = $inicio = 'unactive_button';        $legajos = 'active_button';        break;    case strpos($url, $inicuri) === 0: //leave at last because '/' is present in every other        $asignaciones = $combinaciones = $legajos = 'unactive_button';        $inicio = 'active_button';        break;    default:        $asignaciones = $combinaciones = $legajos = $inicio = 'unactive_button';}
查看完整描述

2 回答

?
牛魔王的故事

TA贡献1830条经验 获得超3个赞

要实现您想要的目标,您需要传入要检查TRUE的switch值,然后传入案例的评估。


switch (true) {

    case ($url == "/asignaciones?ireelevant_stuff"):

        $asignaciones = 'active_button';

        $combinaciones = 'unactive_button';

    break;

    case ($url == "otherpath"):

        $asignaciones = 'unactive_button';

        $combinaciones = 'active_button';

    break;

}

该手册还在用户贡献中提供了一个示例,https://www.php.net/manual/en/control-structures.switch.php#9610。


查看完整回答
反对 回复 2021-11-26
?
月关宝盒

TA贡献1772条经验 获得超5个赞

您在代码中犯了一些错误。


要检查您的 url 是否包含字符串,您可以使用strposPHP 函数,如下所示:


$url = $_SERVER['REQUEST_URI'];


if (strpos($url, '/asignaciones') !== false) {

    // The string $url contains "/asignaciones"

    $asignaciones = 'active_button';

    $combinaciones = 'unactive_button';

} else {

    // The string $url DOES NOT contain "/asignaciones"

    $asignaciones = 'unactive_button';

    $combinaciones = 'active_button';

}


查看完整回答
反对 回复 2021-11-26
  • 2 回答
  • 0 关注
  • 196 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信