Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript][MySQL][PHP] Dodawanie wpisów do bazy danych przyciskiem
Forum PHP.pl > Forum > Przedszkole
shakugan45
Witam. Nie znam się kompletnie na javascript, ale znam jakotako PHP. Na swojej stronie generuję z php listę seriali opartą na bazie danych mysql. Teraz chcę dodać przycisk przy każdej z pozycji która będzie dodawała ID danego serialu oraz ID użytkownika ($_SESSION['user_id']) do bazy danych watchlist bez odświeżania strony, sprawdzając najpierw czy w tej bazie danych nie istnieje już dana kombinacja id filmu i id użytkownika (czy użytkownik już przypadkiem nie dodał tego jako "obejrzane"). Domyślam się, że potrzebny jest tu javascript, ale jak już wspomniałem - nic a nic go nie ogarniam. Jest ktoś w stanie pomóc?
timon27
Funkcja javascript która wykona php bez przeładowania strony:
  1. function ramka(url){
  2. var xmlhttp;
  3. if (window.XMLHttpRequest){
  4. xmlhttp=new XMLHttpRequest();
  5. }else{
  6. xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  7. }
  8. xmlhttp.onreadystatechange=function(){
  9. if (xmlhttp.readyState==4 && xmlhttp.status==200){
  10. //tu możesz coś zrobić z xmlhttp.responseText które zawiera to co php wyświetlił
  11. }
  12. }
  13. xmlhttp.open("GET",url,true);
  14. xmlhttp.send();
  15. }


Możesz tą funkcję wywołać na mnóstwo sposobów np:
  1.  
  2. <button onclick='ramka("zapis.php?id=27&film=456")'>Oglądałem film 456ty</button>
shakugan45
Dzięki, właśnie o coś takiego mi chodziło. Ale mógłbyś wyjasnić jeszcze w jaki sposób uruchomić funkcję php w tym skrypcie i jak w momencie kliknięcia przycisku "Oglądałem film (...)" zmieni jego treść na "Dodano do listy" ?
Turson
Poczytaj o ajaxie jquery. Po prostu podajesz ścieżkę do pliku, który ma się wykonać (np. php bez przeładowania strony).
shakugan45
Ok, przeczytałem tutorial do ajax'a i wyszło mi coś takiego:
  1. <script type="text/javascript" src="jquery-1.11.0.js"></script>
  2. function ajaxload(url){
  3. $('#addresponse').load(url)
  4. };


Użyte jako onclick działa poprawnie, ale czy to wystarczy to bezpiecznego używania na stronie? Potrzebne są jakieś dodatkowe zabezpieczenia?
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.