Хорошо, давайте так выразиться: как я могу "перенаправить" пользователя на другую страницу "MyPage.php" после отправки формы, которая выглядит так:
<form action="http://www.example.com/APageICanNotEdit.php" method="POST">
<input type="submit" name="send" value="Go" />
</form>
Обратите внимание, что я не контролирую URL-адрес, указанный в атрибуте действия. Это внешний источник. Это означает, что я не могу редактировать файл APageICanNotEdit.php.
Вот что я хочу:
action="http://www.example.com/APageICanNotEdit.php"
- это действие должно быть выполнено, если это возможно, без отображения его содержимого.используйте скрытый параметр, например
<input type="hidden" name="action" value="1" />
Ваша форма будет выглядеть так:
<form action="http://www.example.com/form-manager.php" method="POST">
</form>
Менеджер формы Yout будет выглядеть так:
if ($_POST['action'] == "1")
require_once('ThePHPFileIDoNotWantToBeLoadedOnBrowser.php");
Увидев ваш комментарий, вы можете сделать это с помощью вызова AJAX:
$(document).on('submit' , 'form[action="http://www.example.com/ThePHPFileIDoNotWantToBeLoadedOnBrowser.php"]' , function(e){
var formData = $(this).serialize(); // if you need any of the vars
$.ajax({
url:'someOtherURL.php',
type:'POST',
datatype:'json',
data: formData,
success : function(data){
for(var i = 0; i < data.length; i++){
console.log(data);
}
},
error : function(s , i , error){
console.log(error);
}
});
return true; // keep normal behavior
});