takashi Posted October 9, 2013 Share Posted October 9, 2013 (edited) Cześć. Poszerzając swoje umiejętności postanowiłem napisać swój moduł do Presty 1.5. Wszystko ładnie pięknie, ale gdy chcę wykonać skrypt php wywoływany ajax'em sypie się. Celem jest wywalenie rekordu z DB poprzez panel admina. może odrobinę kodu. Wywołanie ajax'owe (działa prawidłowo) $.ajax({ type: "POST", dataType: "json", url: "../modules/samemodels/query.php", data: "remove=yes&id="+id, success: function(result){ //something [spam-filter]); plik query.php: <?php //echo 'Welcome to query.php'; include('../../config/config.inc.php'); include('../../init.php'); //echo 'after include'; $id = $_POST['id']; $sql= "DELETE FROM ps_samemodels WHERE 'id' = ".$id; if (Db::getInstance()->execute($sql)){ echo 'Usunięto'; }; ?> więc sprawa wygląda tak, że wywołanie ajax otrzymywał odpowiedź 'Welcome to query.php', ale przerywało wykonywanie skryptu po includowaniu i już nic nie wykonuje (nawet 'afret include')... dawałem require_once zamiast include niestety bezskutecznie. Również dodwałem dirname, ale nic z tego... podpierałem się: http://www.prestashop.com/forums/topic/275640-cena-produktu-wyci%C4%85gni%C4%99ta-ajaxowo/?hl=%2Bajax&do=findComment&comment=1383068 oraz http://doc.prestashop.com/display/PS15/Using+jQuery+and+Ajax#UsingjQueryandAjax-MakingAjaxcallswithjQuery niestety nie wiem gdzie może być błąd. Edited October 10, 2013 by takashi (see edit history) Link to comment Share on other sites More sharing options...
vekia Posted October 9, 2013 Share Posted October 9, 2013 witaj masz włączone raportowanie błędów? być może sypią się zaincludowane biblioteki, aby być pewnym włącz raportowanie błędów i sprawdź wyniki w konsoli Link to comment Share on other sites More sharing options...
takashi Posted October 9, 2013 Author Share Posted October 9, 2013 (edited) raportowanie błędów wywaliło mi: Warning: Cannot modify header information - headers already sent by (output started at (...)modules\samemodels\query.php:2) in (...)classes\shop\Shop.php on line 389 ten błąd miałem kiedyś w innym problemie i wówczas można było to rozwiązać zastąpieniem include na całe polecenie łączenia z bazą, ale w Preście musi to być... jakaś koncepcja? Edited October 9, 2013 by takashi (see edit history) Link to comment Share on other sites More sharing options...
vekia Posted October 9, 2013 Share Posted October 9, 2013 to jest zwykły warning, nie powinien on wysypywać całego skryptu. jeszcze mam pytanie dotyczące init.php, jak zakomentujesz ten include to dalsza część się wyświetla? dalsza tj. echo 'after include'; dodatkowo warto jeszcze sprawdzić... zmiany w od wersji 1.5.4.1 (lub 1.5.5 nie pamiętam już) sprawiły, że w pewnych sytuacjach strona jest przekierowywana na poprawną np. z https na http. jak otworzysz plik w przeglądarce: /modules/samemodels/query.php to nie masz problemu z przekierowaniem ? Link to comment Share on other sites More sharing options...
takashi Posted October 10, 2013 Author Share Posted October 10, 2013 Vekia, to co napisałeś odnośnie komentowania include nic nie dało niestety. po otwarciu bezpośredniego linka przekierowało mnie na główną. problem leżał w innym miejscu - wszystko to robiłem na localhoście (webserv) i to on sypał błędy... po wrzuceniu na serwer wszystko poszło od ręki bez problemów. Pytanie więc nasuwa się co jest żle skonfigurowane w localhoście, że nie pozwala w niektórych sytuacjach zaincludować łączenia z bazą (pisząc skrypt z obsługą GD też się sypało)... tak czy owak piękne dzięki za naprowadzenie Link to comment Share on other sites More sharing options...
Recommended Posts