$inCore->redirect() выстреливает пустой страницей

#1 21 октября 2011 в 21:41
Доделываю модуль. Всё работает хорошо до того момента как вызываю функцию редиректа.
код
  1.  
  2. <?php
  3. function usermaps()
  4. {
  5. $inCore = cmsCore::getInstance();
  6. $inPage = cmsPage::getInstance();
  7. $inUser = cmsUser::getInstance();
  8.  
  9. $inCore->loadModel('usermaps');
  10.  
  11. $model = new cms_model_usermaps();
  12.  
  13. $do = $inCore->request('do', 'str', 'add');
  14.  
  15. $cfg = $inCore->loadComponentConfig('usermaps');
  16.  
  17. if ($do == 'add')
  18. {
  19. $is_send = $inCore->inRequest('coord');
  20.  
  21. if (!$is_send)
  22. {
  23. $smarty = $inCore->initSmarty('components', 'com_places_add.tpl');
  24. $smarty->assign('cfg', $cfg);
  25. $smarty->display('com_places_add.tpl');
  26. return;
  27. }
  28.  
  29. if ($is_send)
  30. {
  31. $user_id = $inUser->id;
  32. $coord_raw = $inCore->request('coord', 'str');
  33. $coord = explode(",",$coord_raw);
  34. $x = $coord[0];
  35. $y = $coord[1];
  36.  
  37. $place_id = $model->addPlace($user_id, $x, $y);
  38.  
  39. if ($place_id)
  40. {
  41. cmsCore::addSessionMessage('Ваше местоположение добавлено!', 'success');
  42. }
  43. else
  44. {
  45. cmsCore::addSessionMessage('Ошибка добавления! '.$place_id. ' ', 'error');
  46. }
  47. $inCore->redirect('/usermaps');
  48. }
  49. }
  50.  
  51.  
  52. if($do == 'edit')
  53. {
  54. $user_id = $inUser->id;
  55. $place_id = $inCore->request('id', 'int', 0);
  56. $is_send = $inCore->inRequest('coord');
  57.  
  58. if (!$place_id)
  59. {
  60. $place = $model->getUserPlace($user_id);
  61. }
  62. else
  63. {
  64. $place = $model->getPlace($place_id);
  65. }
  66.  
  67. if (!$place || !$inUser->is_admin || $inUser->id != $place['user_id'])
  68. {
  69. $inCore->redirectBack();
  70. }
  71.  
  72. if ($is_send)
  73. {
  74. $coord_raw = $inCore->request('coord', 'str');
  75. $coord = explode(",",$coord_raw);
  76. $x = $coord[0];
  77. $y = $coord[1];
  78. $point = $model->updatePlace($place['id'],$user_id, $x,$y,$place['type_id']);
  79. if($point)
  80. {
  81. cmsCore::addSessionMessage('Ваше местоположение изменино!', 'success');
  82. }
  83. else
  84. {
  85. cmsCore::addSessionMessage('Ошибка добавления! '.$place['id']. ' ', 'error');
  86. }
  87. $inCore->redirect('/usermaps/edit.html');
  88. }
  89.  
  90. if(!$is_send)
  91. {
  92. $smarty = $inCore->initSmarty('components', 'com_places_edit.tpl');
  93. $smarty->assign('cfg', $cfg);
  94. $smarty->assign('place', $place);
  95. $smarty->display('com_places_edit.tpl');
  96. return;
  97. }
  98. }
  99. }
  100. ?>
  101.  
Всё работает хорошо до момента

  1.  
  2. if ($is_send)
  3. {
  4. $coord_raw = $inCore->request('coord', 'str');
  5. $coord = explode(",",$coord_raw);
  6. $x = $coord[0];
  7. $y = $coord[1];
  8. $point = $model->updatePlace($place['id'],$user_id, $x,$y,$place['type_id']);
  9. if($point)
  10. {
  11. cmsCore::addSessionMessage('Ваше местоположение изменино!', 'success');
  12. }
  13. else
  14. {
  15. cmsCore::addSessionMessage('Ошибка добавления! '.$place['id']. ' ', 'error');
  16. }
  17. $inCore->redirect('/usermaps/edit.html');
  18. }
  19.  
Убираю строку
  1.  
  2. $inCore->redirect('/usermaps/edit.html');
  3.  
всё работает, а с ней вылетает пустая страница.
#2 21 октября 2011 в 22:20
подозреваю что страница на самом деле не пустая, а просто отключен вывод ошибок PHP
посмотрите в error.log
и убедитесь что до редиректа ничего в браузер не шлется
#3 22 октября 2011 в 09:12
Оказывается был /n в одном из файлов…
#4 8 мая 2012 в 04:01
Сергей Игоревич, у меня сейчас такая же проблема что такое "Оказывается был /n в одном из файлов..."
#5 4 июля 2012 в 16:32
"Оказывается был /n в одном из файлов..."
Я так понимаю был перенос в ссылке? Ну вот у меня такая же беда, только я хз где Вы заметили перенос. У меня в стандартных компонентах такое бывает…
Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.