Нуждаюсь в небольшой помощи 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, поэтому предпочтительнее будет модифицировать вышеприведенный код (если это возможно), а не полностью переписать, что я могу не понять.
Ну, чтобы иметь значение по умолчанию, вы можете добавить это в свой код:
$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";
Других решений пока нет …