Как передать несколько переменных в URL и заменить каждую из них значением по умолчанию, если оно не указано

Нуждаюсь в небольшой помощи PHP здесь.

Следующий код PHP прекрасно работает для передачи идентификатора партнера на определенном веб-сайте, где пользователь добавляет свой идентификатор партнера в конец URL-адреса, в противном случае используется значение по умолчанию (я успешно его использовал).

Пример:

www.example.com (использует defaultid из кода PHP)

www.example.com/?id=test1 (используется идентификатор партнера ‘test1’, предоставленный
Пользователь)

<?php

/* DEFAULT SETTINGS */

$DEFAULT_ID = "defaultid";

/* Function to display ID value */

function displayID($defaultValue) {

global $_GET, $DEFAULT_ID;

if (isset($_GET['id']) and strlen(trim($_GET['id']))) {

echo $_GET['id'];

} else if (strlen(trim($defaultValue))) {

echo $defaultValue1;

} else {

echo $DEFAULT_ID;

}

}

/* End of function to display ID value */

?>

Я хотел бы знать, как изменить приведенный выше код для работы с 3 различными идентификаторами партнеров, если на данной веб-странице имеется 3 гиперссылки для 3 различных предложений партнеров.

Пример:

www.example.com (использует 3 идентификатора по умолчанию, которые я определил в коде)
www.example.com/?id1=test1 (использует идентификаторы по умолчанию ‘defaultid2’ и
‘defaultid3’) www.example.com/?id1=test1&id2 = test2 (использует только
идентификатор по умолчанию ‘defaultid3’)
www.example.com/?id1=test1&ID2 = test2&id3 = test3 (использует 3 идентификатора
предоставляется в URL партнером)

Пожалуйста, обратите внимание, что я не разбираюсь в PHP, поэтому предпочтительнее будет модифицировать вышеприведенный код (если это возможно), а не полностью переписать, что я могу не понять.

1

Решение

Ну, чтобы иметь значение по умолчанию, вы можете добавить это в свой код:

$id1="test1";
$id2="test2";
$id3="test3";

if (isset($_GET['id1']) && strlen(trim($_GET['id1'])))
$id1=$_GET['id1'];

if (isset($_GET['id2']) && strlen(trim($_GET['id2'])))
$id2=$_GET['id2'];

if (isset($_GET['id3']) && strlen(trim($_GET['id3'])))
$id3=$_GET['id3'];

Как работает этот код: у вас есть три переменные, по одной для каждой ID,

Условный проверит, есть ли что-либо в $_GET массив с именем для этого id, Если он есть, он перезапишет предыдущее значение, а если нет, то значение по умолчанию останется там.

Кроме того, если вы поклонник троичного языка, он делает то же самое и выглядит красивее:

$id1= (isset($_GET['id1']) && strlen(trim($_GET['id1']))) ? $_GET['id1'] : "test1";
$id2= (isset($_GET['id2']) && strlen(trim($_GET['id2']))) ? $_GET['id2'] : "test2";
$id3= (isset($_GET['id3']) && strlen(trim($_GET['id3']))) ? $_GET['id3'] : "test3";
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]