Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [Ajax][PHP][MySQL] Przesyłanie danych post i odbieranie statusu
vodkon
post 8.10.2012, 19:53:42
Post #1





Grupa: Zarejestrowani
Postów: 72
Pomógł: 0
Dołączył: 8.02.2011

Ostrzeżenie: (0%)
-----


Witam chciałbym stworzyć skrypt w ajax który po naciśnięciu przycisku zapisz wysyłał by dane drogą _POST["paset_tlo"] i w przypadku zmiany paset_tlo z porównaniem do rekordu w bazie danych i wysyłał info np. Dane zostały zapisane albo jak nie to Dane nie zostały zapisane. i do tego doszła by jeszcze funkcja zmiany hasła i jak zrobić taki kod który wyśle dane i wyświetli ich status np. jeśli coś jest w polu z hasłem np. Wprowadzone hasło jest niepoprawne żeby wysłał i odebrał stosowną informacje bez przeładowania strony. bardzo proszę o pomoc w stworzeniu tego.

kod...
<form method="post" name="opcje">Własne tło Adres URL<br><input size="45" type="text" name="paset_tlo" value="'.$tlore["tlo"].'" />'; ?>
<table><tr><td>Stare hasło </td><td><input size="30" type="password" name="pa_shaslo" /></td></tr>
<tr><td>Nowe hasło </td><td><input size="30" type="password" name="pa_nhaslo" /></td></tr>
<tr><td>Powtórz </td><td><input size="30" type="password" name="pa_phaslo" /></td></tr></table></form>

<div id="pa_opcjeb"><div id="pa_opcje_info">Tu ma być wyświetlona informacja o tym czy zaszły jakieś zmiany/błędy</div>
<div id="pa_tbutton2"><a href="java script:void(0)" onClick="opcje_zapisz()" id="pa_button5">Zapisz</a></div></div>

PHP KOD:
if(isset($_POST["paset_tlo"])){ if($_POST["paset_tlo"] == $tlore["tlo"]){ $info_setpa = "Niezaszły żadne zmiany"; }else{ mysql_query("UPDATE pa_admin SET tlo='$_POST[paset_tlo]' WHERE login='$login_payt'"); $info_setpa = "Dane zostały zapisane"; } }

Ten post edytował vodkon 8.10.2012, 20:06:25
Go to the top of the page
+Quote Post
zbychoCom
post 8.10.2012, 19:57:56
Post #2





Grupa: Zarejestrowani
Postów: 55
Pomógł: 9
Dołączył: 7.04.2011

Ostrzeżenie: (0%)
-----


To proste.
Robisz najpierw skrypt php. Jak już zadziała poprawnie, to wtedy zamiast statycznej zmainy użyj ajaxa i ot cała filozofia
Go to the top of the page
+Quote Post
vodkon
post 8.10.2012, 20:05:21
Post #3





Grupa: Zarejestrowani
Postów: 72
Pomógł: 0
Dołączył: 8.02.2011

Ostrzeżenie: (0%)
-----


ok, tylko ja pisze bo nie znam się na jquery oraz ajax i nie wiem jak to napisać coś takiego
ma wysyłać 4 post 1 z tłem i 3 z hasłami i dostarczać je do skryptu php który wykona operację i zwróci zmienną $info_setpa = "Dane został zapisane"; i dostarczyć ją do div#pa_opcje_info i zmienić jego dotychczasową treść na tą ze zmiennej po naciśnięciu przycisku zapisz, dodatkowo jak pola z hasłami będą puste miej niż 1 znak to skrypt poda zmienną "Dane nie zostały zapisane". nie wiem jak napisać taki skrypt ajax


Ten post edytował vodkon 8.10.2012, 20:08:32
Go to the top of the page
+Quote Post
zbychoCom
post 8.10.2012, 20:12:32
Post #4





Grupa: Zarejestrowani
Postów: 55
Pomógł: 9
Dołączył: 7.04.2011

Ostrzeżenie: (0%)
-----


Podam Tobie linka do dobrego i szybkiego kursu jQery
Później poczytaj trochę o jSon (dżejsonie)... To powinno załatwić twoje problemy...
Go to the top of the page
+Quote Post
vodkon
post 8.10.2012, 20:49:38
Post #5





Grupa: Zarejestrowani
Postów: 72
Pomógł: 0
Dołączył: 8.02.2011

Ostrzeżenie: (0%)
-----


A mam prośbę aby ktoś pokazał mi jak wysłać za pomocą json POST oraz odebrać zmienną php
Go to the top of the page
+Quote Post
zbychoCom
post 8.10.2012, 21:13:09
Post #6





Grupa: Zarejestrowani
Postów: 55
Pomógł: 9
Dołączył: 7.04.2011

Ostrzeżenie: (0%)
-----


  1. function addEl($pdfId,$element){
  2.  
  3. $("#loader").ajaxStart(
  4. function(){
  5. $(this).css('display', 'block');
  6. }
  7. ).ajaxComplete(
  8. function(){
  9. $(this).css('display', 'none');
  10. }
  11. );
  12.  
  13. $.ajax({
  14. url:'/PDFSampler2_0/pdfsampler/createelement/id/' + $pdfId,//skrypt php przetwarzający dane
  15. type: 'POST',
  16. dataType: 'json',
  17. data: $('#propertiesForm').serialize()+'&new='+$element,//hurtowe pobieranie danych z formularza
  18. success: function(response){
  19. if(response.error == 'false'){//skrypt został prawidłowo przetworzony
  20. $('.area').append(response.area);//pierwszy div
  21. $('#elementSelector').append(response.selector);//drugi div
  22. $('#properties').append(response.properties); //itd
  23. }
  24. },
  25. error: function(data,e){
  26. alert('Wystąpił nieoczekiwany błąd! Sprawdź połączenie internetowe lub/i odświerz stronę!');
  27. }
  28. });
  29. return false;
  30. }


generowana odpowiedz (jSon) przez sktypt php wygląda tak:

Kod
{
    "area" : "<img id=\"loading\" src=\"loading.gif\" style=\"display:none;\">",
        "selector" : "costam",
        "properties" : "x=90",
        "error"   : "false"
}


Działa to tak, że wysyłasz dane do serwera i wykonuje się tam skrypt php. W odpowiedzi otrzymuje się jSon i robisz z nim co ci się podoba...

Ten post edytował zbychoCom 8.10.2012, 21:17:36
Go to the top of the page
+Quote Post
vodkon
post 8.10.2012, 21:28:55
Post #7





Grupa: Zarejestrowani
Postów: 72
Pomógł: 0
Dołączył: 8.02.2011

Ostrzeżenie: (0%)
-----


Mam jeszcze pytanie odnośnie takiego kodu
  1. if(isset($_POST["paset_tlo"])){
  2. if($_POST["paset_tlo"] == $tlore["tlo"]){ //nic się nie dzieje zwraca Dane nie zostały zapisane
  3. }else{
  4. // Wykonuje skrypt i zwraca informacje typu Dane zostały zapisane
  5. mysql_query("UPDATE pa_admin SET tlo='$_POST[paset_tlo]' WHERE login='$login_payt'");
  6. }
  7. }

Jak w nim generować odpowiedzi json?
Go to the top of the page
+Quote Post
zbychoCom
post 8.10.2012, 21:33:26
Post #8





Grupa: Zarejestrowani
Postów: 55
Pomógł: 9
Dołączył: 7.04.2011

Ostrzeżenie: (0%)
-----


To proste. Skrypt php powinien wygenerować jSon'a tak jak np. tutaj:

  1. <?php
  2.  
  3. $error = json_encode('false');
  4. $area = json_encode($this->pdfArea);
  5. $selector = json_encode($this->pdfSelector);
  6. $properties = json_encode($this->pdfProperties);
  7.  
  8.  
  9. //jSon
  10.  
  11. echo '{';
  12. echo '"area": '.$area.',';
  13. echo '"selector": '.$selector.',';
  14. echo '"properties": '.$properties.',';
  15. echo '"error" : '.$error;
  16. echo '}';



p.s. Jakbyś dostawał głupawki z jSon'em to zapamiętaj sobie, że ' != "
Go to the top of the page
+Quote Post
vodkon
post 8.10.2012, 21:35:21
Post #9





Grupa: Zarejestrowani
Postów: 72
Pomógł: 0
Dołączył: 8.02.2011

Ostrzeżenie: (0%)
-----


THX za pomoc biggrin.gif
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 6.06.2024 - 09:45