Каков наилучший способ в системе вкладок с методом $ _GET - PullRequest
0 голосов
/ 10 июня 2018

Я пытаюсь сделать вкладку систем.Поэтому я читаю значения $ _GET браузера и отображаю содержимое вкладки.

www.site.com/product-1/
www.site.com/product-1/?tab-1
www.site.com/product-1/?tab-2
www.site.com/product-1/?tab-3

А вот и PHP:

if ( isset($_GET['tab-1']) ):
    //tab-1 content here
endif;

if ( isset($_GET['tab-2']) ):
    //tab-2 content here
endif;

if ( isset($_GET['tab-3']) ):
    //tab-3 content here
endif;

if ( empty($_GET) ):
    //default content
endif;

Но я заблокирован здесь.Что произойдет, если другое значение $ _GET.Если значение get отличается, например ? Asd , должно отображаться содержимое по умолчанию.

Это правильный путь?Или кто-нибудь может предложить мне лучший способ?

1 Ответ

0 голосов
/ 10 июня 2018

было бы лучше дать параметр для вашей переменной tab

www.site.com/product-1/
www.site.com/product-1/?tab=1
www.site.com/product-1/?tab=2
www.site.com/product-1/?tab=3

и проверить его по вашему php-коду:

<?php
if (isset($_GET['tab'])) {
    switch ($_GET['tab']) {
        case '1':
            //tab-1 content here
            break;
        case '2':
            //tab-2 content here
            break;
        case '3':
            //tab-3 content here
            break;
        default:
            //default content1
            break;
    }
}else{
       //default content2, but you are sure that the url will be hacked
}
?>

так что? Tab = asd будет идти по умолчаниюКстати, content1 и? asd будут использовать content2

по умолчанию. Я немного подозрительно отношусь к URL, меня научили "никогда не доверять пользовательскому вводу", поэтому я бы использовал htmlspecialchars ($ _ GET ['tab']) вместо $ _GET [' tab '], чтобы избежать эксплойта XXS

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...