Jump to content

[SOLVED] AJAX problemy z połączeniem z DB w skrypcie php


Recommended Posts

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 by takashi (see edit history)
Link to comment
Share on other sites

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 by takashi (see edit history)
Link to comment
Share on other sites

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

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

×
×
  • Create New...