Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Как получить значение GET параметра (https://javascript.ru/forum/events/52010-kak-poluchit-znachenie-get-parametra.html)

user_name 30.11.2014 14:49

И какой же пользователь отключит js. Если он не какой-нибудь уникальный.

Vlasenko Fedor 30.11.2014 15:10

danik.js,
чет ты херню написал вот в этом участке value="<?= $_GET['product_id'] ?>

danik.js 30.11.2014 15:20

В плане экранирования (тут тупо (int) пойдет ) и проверки isset? Ай, ты думаешь у них других дыр и косяков нету чтоли?

Ну и для таких дел шаблонизаторы юзают.

user_name 30.11.2014 15:25

Шаблоном и сделал)

Vlasenko Fedor 30.11.2014 15:32

Пора давно на фильтры переходить http://php.net/manual/ru/book.filter.php
К примеру написал себе сахарную обертку используя filter_input и filter_var
static function _($data_name, $params = 'string', $default = null ){}

используешь
echo Filter::_('get.product_id', 'int');

Tecvid 01.12.2014 22:08

Цитата:

Сообщение от user_name
Неужели вариантов попроще этого нет? http://stackoverflow.com/questions/9...-in-javascript

это сойдёт? :)

var get = {};

if (location.search) {
    var c = location.search.substring(1).split('&');
    
    for (var i = 0; i < c.length; i++) { 
        var ar = c[i].split('=');
        
        if (ar[0] != '') {
            get[ar[0]] = unescape(ar[1]);
        }
    }
}

// использование
var query = get['query']; // $query = $_GET['query'];

danik.js 01.12.2014 22:19

Да не нужно парсить query строку на клиенте. Че вы как дети то, с первого раза не поймете.

Tecvid 01.12.2014 22:50

Цитата:

Сообщение от danik.js
Да не нужно парсить query строку на клиенте

а чем это плох? при работе с ajax бывает полезным

Tecvid 01.12.2014 22:55

Цитата:

Сообщение от Tecvid
var c = location.search.substring(1).split('&');

тут можно и slice использовать

danik.js 01.12.2014 23:20

Цитата:

Сообщение от Tecvid
а чем это плох? при работе с ajax бывает полезным

Как правило, когда кодеру невдомек что можно сделать проще.


Часовой пояс GMT +3, время: 11:35.