Я хочу отправить текст в поле ввода на 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?
Есть способ получить простой текст в URL, но это небезопасно, потому что вы не должны использовать санитарную обработку, как filter_var
или же htmlspecialchars
,
Также, $_GET['url']
не установлен перед отправкой формы, поэтому первая отправка приведет к ошибкам.
Вариант здесь заключается в том, чтобы включить JavaScript для установки action
в форме на keyup
и затем, когда вы нажмете кнопку Отправить, вы будете перенаправлены на этот URL. Если это не то, что вы хотите, пожалуйста, сообщите нам, что нужно сделать вашему сценарию, чтобы получить правильный ответ.
Других решений пока нет …