ввод php на URL, некорректный

Я хочу отправить текст в поле ввода на URL-адрес и вызвать функцию $ GET.

<form action="" method="get">
URL:<input type="text" name="url" size="100px" placeholder="URL"/>
<select name="url">
<option value="<?php filter_var($_GET['url'],FILTER_VALIDATE_URL); ?>">testdomain1.de</option>
<option value="test2">testdomain2</option>
<option value="test3">testdomain</option>
</select>
<input type="submit" value="Send"/>
</form>

Это работает, но ссылка повреждена:

Я хочу этот:

http://127.0.0.1/title/index.php?url=http://www.tech.de/news/google-will-kein-eigenes-auto-mehr-bauen-10092492.html

но я понимаю

http://127.0.0.1/title/index.php?url=http%3A%2F%2F127.0.0.1%2Ftitle%2Findex.php%3Furl%3Dhttp%3A%2F%2Fwww.tech.de%2Fnews%2Fgoogle-will-kein-eigenes-auto-mehr-bauen-10092492.html&url=%3Cbr+%2F%3E%0D%0A%3Cb%3ENotice%3C%2Fb%3E%3A++Use+of+undefined+constant+url+-+assumed+%27url%27+in+%3Cb%3EC%3A%5Cxampp%5Chtdocs%5Ctitle%5Cindex.php%3C%2Fb%3E+on+line+%3Cb%3E22%3C%2Fb%3E%3Cbr+%2F%3E%0D%0A

не могли бы вы помочь мне?

хорошо, я прочитал комментарии, и изменил на это:

<?php filter_var($_GET['url'],FILTER_VALIDATE_URL); ?>

но это не работает, нет способа вставить простой текст в URL?

0

Решение

Есть способ получить простой текст в URL, но это небезопасно, потому что вы не должны использовать санитарную обработку, как filter_var или же htmlspecialchars,

Также, $_GET['url'] не установлен перед отправкой формы, поэтому первая отправка приведет к ошибкам.

Вариант здесь заключается в том, чтобы включить JavaScript для установки action в форме на keyup и затем, когда вы нажмете кнопку Отправить, вы будете перенаправлены на этот URL. Если это не то, что вы хотите, пожалуйста, сообщите нам, что нужно сделать вашему сценарию, чтобы получить правильный ответ.

0

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

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

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