[php] post bez formularza

0

czesc, jak wyslac w tym przypadku post bez formularza

if($wifi=="wpa") {echo "<script type=\"text/javascript\" src=\"wifidb.php?wifi=wpa\"></script>";}

w sesie zeby wyslac do wifidb.php bez post, bo tam zrobie wyjatek ze jesli nic nie odebrane to nic nie wyswietla dzieki temu nikt mi bazy latwo nie ukradnie, a baza musi byc w formacie js zeby na google maps sie pojawialo

0
asdasd napisał(a)

jak wyslac w tym przypadku post bez formularza

asdasd napisał(a)

w sesie zeby wyslac do wifidb.php bez post

Co? To chcesz "wysłać post" ("bez formularza"), czy "wysłać bez post"?

Napisz może tak... Jakie żądanie chcesz wysłać (typ: GET czy POST) i do jakiego pliku. I czy chcesz, by żądanie wykonywał serwer (?!), czy może klient (w JavaScripcie).

0

chcialbym zeby jak ktos wejdzie na
mapa.php
czyli to gdzie jest to zalaczanie tego wifidb.php jako js
to zeby ten plik mapa.php wyslal przez post jakas dana wartosc wifi=
i tylko wtedy wifidb.php by wygenerowalo liste (z mysql), a w przeciwnym razie nie
bo to bardzo by utrudnilo skopiowanie bazy, bo to sie tam w mapa.php do araya laduje z tej bazy wifidb.php, a jak ktos by otworzyl z przegadarki to bez tego post by mu nic nie wyrzucilo :)

0

dokladniej chodzi np dla tego przykladu

http://googlemapsapi.martinpearman.co.uk/infusions/google_maps_api/basic_page.php?map_id=8

<script type="text/javascript" src="../../maps/clustermarker/marker_data_01.php"></script>

<- tutaj laduje sie baza

//	json data already loaded from marker_data_01.php
		
		for (var i=0; i<json.length; i++) {
			marker=newMarker(new GLatLng(json[i].lat, json[i].lng), json[i].id);
			markersArray.push(marker);
		}

<- tutaj wyswietla

i jak zrobic zeby ten basic_page.php?map_id=8 przekazywal post do marker_data_01.php I tylko wtedy marker_data_01.php ladowalby informacje (z mysql), to byloby super zabezpieczenie, bo inaczej
http://googlemapsapi.martinpearman.co.uk/maps/clustermarker/marker_data_01.php kazdy moze zobaczyc i ukrasc moja baze :/, a z tym postem to by 90% "wannabe" wyeliminowalo :)

0

To wygląda na to, że możesz użyć Ajaxa, skoro chcesz wczytać plik w tej samej domenie.

Nie dodawaj do dokumentu HTML tego elementy script z marked_data_01.php. Kod, który ma się wykonać po wczytaniu markerów (czyli kod inicjalizujący mapę/markery) zamknij sobie w jakiejś funkcji np. init_markers(). Dołącz plik z tą funkcją do dokumentu, ale nie odpalaj jej jeszcze. Zamiast tego wykorzystaj Ajaxa -- obiekt XMLHttpRequest (w skrócie: XHR) -- by wykonać żądanie POST do marker_data_01.php. Sam wybór metody POST jest w Ajaxie bardzo prosty -- wystarczy przekazać odpowiedni parametr funkcji open w obiekcie XHR. Poczytaj specyfikację XHR lub jakiś tutorial do Ajaxa. Żądanie ajaxowe jest wykonywane asynchronicznie (nie warto korzystać z synchronicznego trybu). Działa to tak, że obiekt XHR po nadejściu odpowiedzi wykonuje po prostu funkcję podstawioną do jego własności onreadystatechange. To również znajdziesz w tutorialu.

Ważne jest, że po nadejściu odpowiedzi obiekt XHR ma w polu reponseText całą treść odpowiedzi, jaką zwrócił serwer. W Twoim przypadku będzie to kod JavaScript będący zawartością pliku marker_data_01.php. Ten kod możesz odpalić za pomocą dostępnej w JavaScripcie funkcji eval(). Nie jest to zbyt eleganckie rozwiązanie, ale w tym wypadku można je zastosować. W tym momencie masz już "załadowaną bazę" i możesz ją wyświetlić, czyli możesz wywołać funkcję init_markers(), którą sobie wcześniej przygotowałeś.

Dodam, że to rozwiązanie wcale nie zapewnia wielkiego bezpieczeństwa. Tak naprawdę nie zapewnia żadnego bezpieczeństwa; wykonywanie żądań POST to żaden problem. Choć jeśli uważasz, że odstraszy to wielu script-kiddies, to możesz to zrobić właśnie tak, jak opisałem.

0

eh, neistety to co napisales przerasta moje umiejetnosci programowania ;-( , wiec chyba sobie odpuszcze

1 użytkowników online, w tym zalogowanych: 0, gości: 1