Перенаправление URL на основе ввода, но если URL-адрес не существует, отправьте обратно на ту же страницу - PullRequest
0 голосов
/ 11 августа 2011

Этот код почти идеально подходит для того, что мне нужно:

<form onsubmit="location.href='http://www.mysite.com/' + document.getElementById('myInput').value; return false;">
  <input type="text" id="myInput" />
  <input type="submit" />
</form>

Единственное, чего не хватает, это если пользователь вводит несуществующий ввод, я хочу, чтобы он никуда их не выводил или перенаправлял обратно на ту же страницу. Прямо сейчас он выводит их на страницу с ошибкой, и им приходится использовать кнопку «Назад», чтобы вернуться и повторить попытку.
Любая помощь будет принята с благодарностью.

Спасибо

1 Ответ

0 голосов
/ 11 августа 2011

Не могли бы вы написать небольшой PHP-скрипт, который вы используете в качестве действия формы? Внутри этого скрипта вы можете проверить предоставленный пользовательский ввод и проверить, что URL существует. Если это произойдет, вы можете сделать header() перенаправление на данную страницу. Если он не существует, вы можете перенаправить их на нужную страницу.

<?php
$input = $_POST['myInput']; // You'll also need to add in a name='' tag in the HTML!
$desired_page = ''; // page you want to go to if inputted file cannot be found

if (file_exists($input)) {
  header("Location: $input");
}
else {
  header("Location: $desired_page");
}

Потребуется много доработки, но это идея. Будет ли это делать то, что вы хотите?

...