Javascript-форум (https://javascript.ru/forum/)
-   Библиотеки/Тулкиты/Фреймворки (https://javascript.ru/forum/library-toolkit-framework/)
-   -   window.location.replace(...) не могу привязать к окну, которое написано на php (https://javascript.ru/forum/library-toolkit-framework/64845-window-location-replace-ne-mogu-privyazat-k-oknu-kotoroe-napisano-na-php.html)

Million 09.09.2016 14:50

http://ic.asf.ru/~/docs/jsru/window.location.html методы location прочтите. Я пытался сделать, как вы посоветовали//в самом начале кода, до любого вывода в браузер
session_start();
if($_SESSION['done']) {
header('location: url');
exit;
}

//основной код
if(expert) {
//что-то проверяем, и если сделано, то определяем перенаправление
$_SESSION['done'] = 1;
}
но у меня не выходит

laimas 09.09.2016 15:16

Цитата:

Сообщение от psiklop
ну если после этого вставить точно не перенаправит

Вы внимательно изучили общую структуру кода с передачей заголовка, которую я написал? Ну если так трудно это понять со строчками кода, представьте тогда нечто отдаленное от него. Есть секретная комната, вход в которую строго по пачпарту. Когда охраннику проверять его: 1) сразу на входе в комнату; 2) впустить, а после прогулки посетителя по комнате проверить?

Цитата:

Сообщение от psiklop
.opener может тут и не надо?

А мне откуда это знать, нужно ли вам это окошко или нет? Я замечание сделал не об окне, а о replace, в которую нужно передавать минимум два аргумента.

Цитата:

Сообщение от psiklop
а если удачно что там выводится, оно нужно?

Оно что, окно? Понятия не имею, не я разработчик этого, не мне давали ТЗ с описанием чего и где нужно.

psiklop 10.09.2016 01:08

laimas, успокойся, это не я задал вопрос, и это писал тоже не тебе, какой охранник? какая комната? отдохни, выпей чаю

psiklop 10.09.2016 01:20

Цитата:

Сообщение от Million
function email_form_submission($form) {
if(!defined('PHP_EOL'))
define('PHP_EOL', '\r\n');

$form_email = ((array_key_exists('Email', $_REQUEST) && !empty($_REQUEST['Email'])) ? cleanup_email($_REQUEST['Email']) : '');

$to = $form['email']['to'];
$subject = $form['subject'];
$message = get_email_body($subject, $form['heading'], $form['fields'], $form['resources']);
$headers = get_email_headers($to, $form_email);

$sent = @mail($to, $subject, $message, $headers);

if(!$sent)
die(get_form_error_response($form['resources']['failed_to_send_email']));

$success_data = array(
'redirect' => $form['success_redirect']
);

echo get_form_response(true, $success_data);

function email_form_submission($form) {
if(!defined('PHP_EOL'))
define('PHP_EOL', '\r\n');

$form_email = ((array_key_exists('Email', $_REQUEST) && !empty($_REQUEST['Email'])) ? cleanup_email($_REQUEST['Email']) : '');

$to = $form['email']['to'];
$subject = $form['subject'];
$message = get_email_body($subject, $form['heading'], $form['fields'], $form['resources']);
$headers = get_email_headers($to, $form_email);

$sent = @mail($to, $subject, $message, $headers);

echo "<script>window.location.replace('http://google.com')</script>";


должен перенаправить как то так

laimas 10.09.2016 03:52

Цитата:

Сообщение от psiklop
laimas, успокойся, это не я задал вопрос

Я на автомате, даже и не заметил кто вопрос задал.

Цитата:

Сообщение от psiklop
echo "<script>window.location.replace('http://google.com')</script>";
должен перенаправить как то так

Не должно ни как-то, ни иначе, ибо это ошибка.

laimas 10.09.2016 03:59

Цитата:

Сообщение от Million
Я пытался сделать, как вы посоветовали//в самом начале кода, до любого вывода в браузер

В самом начале потому, как было написано - не пускать пользователя на страницу после некоторого действия. А значит проверку запроса "пускать/не пускать" нужно делать до того как страница отдается пользователю.

До любого вывода в браузер потому, что передача заголовка (header(), и старт сессии тоже) должна производиться до любого вывода в браузер, иначе будет ошибка. Это не означает, что нельзя перенаправить пользователя на другую страницу сразу и после действия.


Часовой пояс GMT +3, время: 05:13.