X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость ( Вход | Регистрация )

Открыть тему
Тема закрыта
> Header Location
mmkulikov
mmkulikov
Topic Starter сообщение 27.7.2014, 15:27; Ответить: mmkulikov
Сообщение #1


Старожил
******

Группа: Active User
Сообщений: 2024
Регистрация: 21.9.2012
Из: СССР
Поблагодарили: 587 раз
Репутация:   68  


Доступные темы перечитал. Вывода перед header нет.
Один и тот-же код работает в IE и Mozilla
В других нет.
В хроме получаю ошибку "undefined"
Кто может помочь побороть?
Да, действие происходит в обработчике формы после нажатия на submit


--------------------
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
makedonskiy
makedonskiy
сообщение 27.7.2014, 16:26; Ответить: makedonskiy
Сообщение #2


Частый гость
**

Группа: User
Сообщений: 75
Регистрация: 31.1.2014
Поблагодарили: 23 раза
Репутация:   4  


Быть может код покажите?
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
mmkulikov
mmkulikov
Topic Starter сообщение 27.7.2014, 16:57; Ответить: mmkulikov
Сообщение #3


Старожил
******

Группа: Active User
Сообщений: 2024
Регистрация: 21.9.2012
Из: СССР
Поблагодарили: 587 раз
Репутация:   68  


Цитата(makedonskiy @ 27.7.2014, 14:26) *
Быть может код покажите?

Да без проблем :)
Развернуть/Свернуть
Код
<?php
        include_once './plugins/class.phpmailer/class.phpmailer.php';
    $query_a = array_merge($_GET, $_POST);
        $mailer = new phpmailer;
        $mailer->From = 'no-reply@menushop.ru';
        $mailer->FromName = 'Menushop.ru';

        $mailer->Subject = 'Заявка на ТТК';
        $text ='';
        foreach($query_a as $k => $v) {
            $text .= '<p><b>'.$k.':</b> '.$v.'</p>';
        }
        $mailer->Body = $text;
        $mailer->AddAddress('support@menushop.ru');
        $mailer->IsHTML(true);
        if($mailer->Send()) {
            buy_via_robokassa($query_a);
            echo 'Ваша заявка отправлена, спасибо!';
        } else {
            echo 'Ошибка, поробуйте позже.';
        }
        $mailer->ClearAddresses();

function buy_via_robokassa($query_a) {
    require 'common.php';
// Оплата заданной суммы с выбором валюты на сайте ROBOKASSA
// Payment of the set sum with a choice of currency on site ROBOKASSA

// регистрационная информация (логин, пароль #1)
// registration info (login, password #1)
    $mrh_login = $registry['mrh_login'];
    $mrh_pass1 = $registry['mrh_pass1'];

// номер заказа
// number of order
    $inv_id = 0;//(int)time();

// описание заказа
// order description
    $inv_desc = "Технологические карты блюд (".$query_a['fio'].", ".$query_a['phone'].", ".$query_a['email'].")";

// сумма заказа
// sum of order
    $out_summ = 150*$query_a['count'];

// тип товара
// code of goods
    $shp_item = "TTK";

// предлагаемая валюта платежа
// default payment e-currency
    $in_curr = "";

// язык
// language
    $culture = "ru";

// формирование подписи
// generate signature
    $crc  = md5("$mrh_login:$out_summ:$inv_id:$mrh_pass1:Shp_item=$shp_item");


    $data = array(
        'MrchLogin' => $mrh_login,
        'OutSum' => $out_summ,
        'InvId' => $inv_id,
        'Desc' => $inv_desc,
        'SignatureValue' => $crc,
        'Shp_item' => $shp_item,
        'IncCurrLabel' => $in_curr,
        'Culture' => $culture
    );
    header('Location: https://merchant.roboxchange.com/Index.aspx?'.http_build_query($data));
exit();
}

?>


--------------------
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Invisible666
Invisible666
сообщение 28.7.2014, 1:37; Ответить: Invisible666
Сообщение #4


Новичок
*

Группа: User
Сообщений: 21
Регистрация: 11.7.2014
Поблагодарили: 0 раз
Репутация:   0  


mmkulikov, а если header до include поставить тоже самое?
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
mmkulikov
mmkulikov
Topic Starter сообщение 28.7.2014, 1:58; Ответить: mmkulikov
Сообщение #5


Старожил
******

Группа: Active User
Сообщений: 2024
Регистрация: 21.9.2012
Из: СССР
Поблагодарили: 587 раз
Репутация:   68  


Цитата(Invisible666 @ 27.7.2014, 23:37) *
а если header до include поставить тоже самое?

Самой первой строкой ставил, "тупой, прямой" переход на фикс адрес - нифига :hmhm:
Проверка на выведен/не выведен заголовок дает false


--------------------
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
sasha_design
sasha_design
сообщение 1.8.2014, 19:34; Ответить: sasha_design
Сообщение #6


Новичок
*

Группа: User
Сообщений: 42
Регистрация: 28.4.2014
Из: Дубовое
Поблагодарили: 2 раза
Репутация:   2  


Точно не помню, но походу переадресация на другой сайт с https проблемное дело в PHP. Если надо будет сделать в js - пишите)

А если так:
$r = http_build_query($data);
if($r) header('Location: https://merchant.roboxchange.com/Index.aspx?'.$r);


--------------------
I am devBattles men
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
mialpet
mialpet
сообщение 3.8.2014, 10:28; Ответить: mialpet
Сообщение #7


Частый гость
**

Группа: User
Сообщений: 75
Регистрация: 2.8.2014
Поблагодарили: 14 раз
Репутация:   5  


Код
if($mailer->Send()) {
            buy_via_robokassa($query_a);
            echo 'Ваша заявка отправлена, спасибо!';
        } else {
            echo 'Ошибка, поробуйте позже.';
        }

Очень странное место, если вы отправили письмо упешно, то вызывается функция с перенаправлением, а потом идет вывод: 'Ваша заявка отправлена, спасибо!' который никто никогда не увидит, после всех перенаправлений обычно ставят exit() чтобы скрипт зря не выполнялся в пустую (а он будет).

Цитата
undefined

Это похоже на ошибку JS, а не PHP. Опишите подробнее что происходит после нажатия сабмита.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
x64
x64
сообщение 3.8.2014, 10:53; Ответить: x64
Сообщение #8


F.A.L.L.O.U.T.
*******

Группа: Super Moderator
Сообщений: 3426
Регистрация: 30.6.2011
Из: Железнодорожный (Балашиха)
Поблагодарили: 2749 раз
Репутация:   289  


Цитата(mmkulikov @ 28.7.2014, 1:58) *
Самой первой строкой ставил, "тупой, прямой" переход на фикс адрес - нифига

да быть того не может
Код
<?php
header('Location: http://maultalk.com/');
exit;
// дальше что угодно, лишь бы без фатальных ошибок

если файл в utf-8, то:
1. если в начале нет сигнатуры BOM — код будет работать;
2. если редактируете и сохраняете файл с помощью notepad (встроенного в виндузу), код не будет работать, просто потому, что дефолтный блокнот пихает BOM принудительно. самостоятельный вариант — указана настройка php_prepend_file — файл, который автоматически подключается перед выполнением запрашиваемого файла. в этом случае, тот же BOM вначале доставит много любой ненависти к программированию в целом (даже больше, нежели для новичка $a = 0; if ($a = 2) )

посмотрите, что приходит в ответе, сниффером каким-нибудь. для ff можно юзнуть мастхэв плагин любого и всякого веб-мастера — firebug (вкладка Сеть).
другое дело — если во время вывода undefined в адресной строке браузера url — https://merchant.roboxchange.com/Index.aspx?

Цитата(mialpet @ 3.8.2014, 10:28) *
Это похоже на ошибку JS

адресная строка даст ответ на этот вопрос. если страница не изменилась — то да

Сообщение отредактировал x64 - 3.8.2014, 10:54


--------------------
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0


 



RSS Текстовая версия Сейчас: 15.12.2017, 16:35
Дизайн