Каков наилучший способ отправки нескольких переменных в строке запроса в URL - PullRequest
0 голосов
/ 15 июня 2010

У меня есть клиент, который хочет создать ссылку, содержащую коды продуктов, чтобы его клиенты переходили на страницу, содержащую только те продукты, которые отображаются в попытке увеличить коэффициент конверсии с партнерских сайтов.

Мой вопросКаков наилучший способ отправить эти несколько продуктов в одном URL

Например:

http://www.mydomain.co.uk/bespoke-list.php?catNo=234-324-232-343

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

Мы будем использовать PHP!

Заранее спасибо.

Ответы [ 3 ]

2 голосов
/ 15 июня 2010

Вы, конечно, можете отправить, как вы описали, с - в качестве разделителя. Переменные строки запроса хранятся в массиве $ _ GET в PHP, поэтому к вашим номерам примеров можно обращаться следующим образом:

$ids = $_GET['catNo'];
$ids = explode('-', $ids);
foreach($ids as $id) {
  echo "<p>$id</p>"; //Do something with $id here.
}

Другим способом может быть сохранение их непосредственно в виде массива в строке запроса, например:

http://www.mydomain.co.uk/bespoke-list.php?id[]=234&id[]=324&id[]=232&id[]=343

Тогда вы можете получить идентификаторы напрямую, без взрыва:

$ids = $_GET['id'];
foreach($ids as $id) {
  echo "<p>$id</p>"; //Do something with $id here.
}

Но когда я смотрю на это, первый, безусловно, более привлекательный URL. : -)

0 голосов
/ 21 июня 2010

Я бы построил строку запроса с префиксом для каждого продукта " catNo- " следующим образом:

catNo-1 = 234 & catNo-2 = 324 & catNo-3 * +1010 * = 232 & catNo-4 = 343

PHP-код для разбора вышеуказанной строки запроса:

<?php
$catNoPrefix = "catNo-";
foreach($_GET as $key => $value){
    if("FALSE" != strstr($key, $catNoPrefix )) {
        $idValue = $_GET[$key];
        echo "<p>$idValue</p>"; 
    }
}
?>
0 голосов
/ 15 июня 2010

Если вы хотите, чтобы URL выглядел лучше, вы можете сделать это, используя .htaccess file.

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