По общему признанию, я новичок в PHP, поэтому мне нужна помощь.
Я создаю собственную партнерскую программу для своего сайта, и у меня есть возможность добавить дополнительный идентификатор в свою ссылку для отслеживания. Не имея контроля над тем, что вводится, я тестировал разные сценарии и обнаружил ошибку при вводе полного URL (т. Е. "http://example.com").
В моем PHP я могу получить переменную из строки без проблем. Моя проблема возникает, когда я получаю ссылающийся URL-адрес и анализирую его (поскольку мне нужно проанализировать ссылающийся URL-адрес, чтобы получить гриву хоста для других целей). Код ниже:
$refURL = getenv("HTTP_REFERER");
$parseRefURL = parse_url($refURL);
РАБОТАЕТ, когда входящая ссылка (например):
http://example.com/?ref=REFERRER'S-ID&sid=www.test.com
ОШИБКА при входящей ссылке (обратите внимание на добавление "http://" после" sid = "):
http://example.com/?ref=REFERRER'S-ID&sid=http://www.test.com
Вот предупреждающее сообщение:
Предупреждение: parse_url (/? Ref = REFERRER'S-ID & sid = http://www.test.com) [function.parse-url]: невозможно проанализировать URL в /home4/'directory'/public_html/hosterdoodle/header.php на линии 28`
Есть какие-нибудь идеи о том, как предотвратить сброс функции parse-url, если кто-то решит поместить URL-адрес в переменную? (Я на самом деле проверил эту проблему до такой степени, что она выдаст ошибку, указав в переменной всего лишь «: /»)