Страница 1 из 1

Редирект после выполнения скрипта

Добавлено: 31 янв 2013, 22:01
Fedya
Есть код без редиректа

Код: Выделить всё

 <script type="text/javascript" charset="utf8" >    $(document).ready(function() {        VK.init(function() {             var viewer_id = 0;            var auth_key = 0;            var image ='';                        viewer_id = '<?php echo $_SESSION['viewer_id'];?>';            auth_key =  '<?php echo $_SESSION['auth_key'];?>';             VK.api("getProfiles", {uids:viewer_id,fields:"photo_big"}, function(data) {                image = data.response[0].photo_big;                                $.post('http://***.ru/valentin/main.php',                { "image": image},                function(data){ });            });        });            });</script>
Мне надо после исполнения данного скрипта перекинуть пользователя на другую страницу, делаю так

Код: Выделить всё

 <script type="text/javascript" charset="utf8" >    $(document).ready(function() {        VK.init(function() {             var viewer_id = 0;            var auth_key = 0;            var image ='';                        viewer_id = '<?php echo $_SESSION['viewer_id'];?>';            auth_key =  '<?php echo $_SESSION['auth_key'];?>';             VK.api("getProfiles", {uids:viewer_id,fields:"photo_big"}, function(data) {                image = data.response[0].photo_big;                                $.post('http://***.ru/valentin/main.php',                { "image": image},                function(data){ });            });        });                 window.location.href = "content.php"           });</script>
Но так получается, что сам скрипт не срабатывает, в базу ничего не отправляет.

Как сделать редирект после выполнения скрипта?
Пробовал через php, в конец добавлял :

Код: Выделить всё

<?phpheader("Location: content.php");?>
Все равно ничего не срабатывало.

Re: Редирект

Добавлено: 31 янв 2013, 23:50
Alazaur

Код: Выделить всё

                $.post('http://***.ru/valentin/main.php',                { "image": image},                function(data){ window.location.href = "content.php" });

Re: Редирект

Добавлено: 01 фев 2013, 14:36
Fedya
Странно, но почему-то все равно поле image в базе пустое, а если без редиректа, то все нормально заполняется

Re: Редирект

Добавлено: 01 фев 2013, 14:40
Fedya
В main.php
Вывожу $_POST['image'],
проверяю через чарлез - все нормально, ссылку на картинку выводит, но в базу не заполняет

Re: Редирект

Добавлено: 01 фев 2013, 16:05
Alazaur
Fedya, серверный скрипт в студию :D

Re: Редирект

Добавлено: 01 фев 2013, 16:07
Fedya
Напоминаю, что без редиректа работает)

Код: Выделить всё

 <?phpsession_start();       // данные приложения    $app_id = '1111111111'; // id приложения    $api_secret = '22222ddddd22222ddd'; // защищенный ключ приложения      $auth_key  = $_SESSION['auth_key'];    $viewer_id = $_SESSION['viewer_id'];    $image = $_POST['image'];    echo $image;    $real_key = md5($app_id."_".$viewer_id."_".$api_secret);    if ($auth_key == $real_key){        // соединение с БД        mysql_connect($db_host, $db_user, $db_password) or die (mysql_error());        mysql_select_db($db_name) or die (mysql_error());        mysql_query("SET NAMES 'utf8'");                        $query = 'INSERT INTO `'.$table_name.'` (`uid`,`time`,`image`) VALUES ("'.$viewer_id.'","'.time().'","'.$image.'") ON DUPLICATE KEY UPDATE  `visits` = (`visits`+1), `time`="'.time().'",`image` = "'.$image.'";';        $sql = mysql_query($query);                    }?> 

Re: Редирект

Добавлено: 01 фев 2013, 16:17
Alazaur
хм... и чего без редиректа работает, а с редиректом нет?
Если вы сделали так как я вам сказал:

Код: Выделить всё

<script type="text/javascript" charset="utf8" >    $(document).ready(function() {        VK.init(function() {            var viewer_id = 0;            var auth_key = 0;            var image ='';                       viewer_id = '<?php echo $_SESSION['viewer_id'];?>';            auth_key =  '<?php echo $_SESSION['auth_key'];?>';             VK.api("getProfiles", {uids:viewer_id,fields:"photo_big"}, function(data) {                image = data.response[0].photo_big;                               $.post('http://***.ru/valentin/main.php',                { "image": image},                function(data){ window.location.href = "content.php" });            });        });    });</script>
То такого не должно быть, ибо скрипт редиректит только после ответа сервера. Может вы забыли свою строчку с редиректом из конца js скрипта убрать?
PS вместо

Код: Выделить всё

<?php echo $_SESSION['viewer_id'];?>
можно писать

Код: Выделить всё

<?=$_SESSION['viewer_id']?>

Re: Редирект

Добавлено: 01 фев 2013, 18:15
Fedya
Неа, не забыл
А как
После

Код: Выделить всё

 image = data.response[0].photo_big;
image записать в сессию?

Re: Редирект

Добавлено: 01 фев 2013, 18:55
Fedya
Блин, понял, там дальше на второй странице идет еще один запрос, он обнуляет значение в базе, спасибо за помощь