Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][AJAX][PHP]Przesyłanie zmiennycg js->ajax->php->mysql i, Problem z przesłaniem zmiennych js do php i swobodnym operowaniu
Jogas
post 8.05.2013, 21:53:34
Post #1





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 8.05.2013

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


Witam , to moj pierwszy post wiec prosze o wyrozumiałość ale liczę na podpowiedzi zaawansowanych uzytkowników.
Idea jest taka że mam kilka zmiennych w Javascripcie (ponizej tylko dwie ale docelowo wiecej)które chciałbym zapakować do mysql.
Oczywiscie próbowłąem z Ajaxem m.in w takim kodzie:
Kod
$(document).ready(function(){
    $("#wyslij").click(function () {
var name = "Aniela";
var lata=70;
  $.ajax({
               type:     "POST",
               url:     "k2.php",
               data:    {"imie":name,"wiek":lata},
               beforeSend: function(html){
                                $("#info").html("Laduje...<br />");        
                            },
               success: function(html){
                                $("#wynik_zapytania").html(html);        
                            },
               error:    function(html){
                                $("#info").html("Wystąpił bład");        
                            },
               complete:   function(html){
                                   $("#info").append("Żądanie zostało zakończone");        
                            }
             });
    });
      });

W powyższym kodzie wszystko dziala dobrze, k2.php też interpretuje dobrze poniezej skromna zawartosc:

<?php
print($_POST['imie']);
print($_POST['wiek']+23); // tu widac ze php otrzymuje zmienną, dodaje i zwraca poprawnie.
?>

Proszę o podpowiedz jak teraz dzialać na samych zmiennych $_POST['imie'],$_POST['wiek'], chciałbym swobodnie przypisywać je do zmiennych i np składać z nich zapyania sql.
Dlaczego wyswietlony plik k2.php w przegladarce nie wyswietla
print($_POST['imie']); a jedynie :Notice: Undefined index: imie

Wielkie Dzięki za choćby przeczytanie moich problemów z tym, niemniej proszę o cenne rady.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 5)
hondek
post 9.05.2013, 09:24:52
Post #2





Grupa: Zarejestrowani
Postów: 355
Pomógł: 50
Dołączył: 20.08.2007
Skąd: Częstochowa

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


Jesteś pewien, że request wysyła się POST'em? nie trzeba w property $.ajax({}) dać method: 'post' ?

Sprwadź:

  1. print_r($_POST);
  2. print_r($_GET);


--------------------
przetwornik yt na czasie :)
Go to the top of the page
+Quote Post
!*!
post 9.05.2013, 09:47:53
Post #3





Grupa: Zarejestrowani
Postów: 4 298
Pomógł: 447
Dołączył: 16.11.2006

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


Czy to:
[JAVASCRIPT] pobierz, plaintext
  1. data: {"imie":name,"wiek":lata}
[JAVASCRIPT] pobierz, plaintext

Nie powinno być tak:
[JAVASCRIPT] pobierz, plaintext
  1. data: {name: "imie",lata: "wiek"}
[JAVASCRIPT] pobierz, plaintext


I tym sposobem wysyłasz post name, lata. http://api.jquery.com/jQuery.ajax/


Cytat
Dlaczego wyswietlony plik k2.php w przegladarce nie wyswietla

Ponieważ ich nie widzi. Zmienne post przesyłasz ajaxem.

Ten post edytował !*! 9.05.2013, 09:48:55


--------------------
Nie udzielam pomocy poprzez PW i nie mam GG.
Niektóre języki programowania, na przykład C# są znane z niezwykłej przenośności (kompatybilność ze wszystkimi wersjami Visty jest wiele warta).
Go to the top of the page
+Quote Post
Arcioch
post 9.05.2013, 09:50:09
Post #4





Grupa: Zarejestrowani
Postów: 324
Pomógł: 110
Dołączył: 18.09.2012

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


Hondek przecież pisze, że wysyła poprawnie POSTa smile.gif Zresztą jest "type: "POST" smile.gif

Jogas smile.gif

Plik k2.php powinien wyświetlać się pusty, czyli wszystko jest jak najbardziej poprawnie smile.gif Wyrzuca notica ponieważ jak otworzysz plik przez przeglądarkę zmienne POSTowe nie istnieją smile.gif W pliku k2.php operujesz na zmiennych jak w normalnym pliku php smile.gif Daj sobie sprawdzenie czy dane istnieje post aby pozbyć się notica na początku i jak ktoś wejdzie na k2.php redirect na index albo coś w tym stylu smile.gif

  1.  
  2. <?php
  3. if($_POST){
  4.  
  5. $wiek = $_POST['wiek'];
  6. $imie = $_POST['imie'];
  7.  
  8. //i tu normalnie sobie robisz zapytania
  9. }else{
  10. //tu redirect
  11. }
  12. ?>
  13.  


Pamiętaj o odpowiednim zabezpieczeniu kodu smile.gif

Pozdrawiam
Arcio


!*!

Raczej są poprawnie ułożone dane w data do tego jak Jogas odbiera w php smile.gif

Ten post edytował Arcioch 9.05.2013, 09:54:01
Go to the top of the page
+Quote Post
hondek
post 9.05.2013, 09:51:46
Post #5





Grupa: Zarejestrowani
Postów: 355
Pomógł: 50
Dołączył: 20.08.2007
Skąd: Częstochowa

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


Jasne @Arcioch masz rację - moje przeoczenie, przepraszam!


--------------------
przetwornik yt na czasie :)
Go to the top of the page
+Quote Post
Jogas
post 10.05.2013, 09:09:48
Post #6





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 8.05.2013

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


Dzięki Wielkie, pomogło!
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: 25.07.2025 - 01:53