Ajax jak przesłać dane z formularza


(Poczta8800) #1

witam jam taki prosty formularz :

oraz skrypt php który go odbiera i zapisuje jego zawartość do bazy jako nowy rekord :

<?php 

// odbieramy dane z formularza 

$xxx = $_POST['xxx']; 

$yyy = $_POST['yyy']; 



if($xxx and $yyy ) { 


    // łączymy się z bazą danych 


$connection = mysql_connect(' ***', '***', '***')

    or die('Brak połączenia z serwerem MySQL');

    $db = @mysql_select_db('***', $connection)

    or die('Nie mogę połączyć się z bazą danych');



    // dodajemy rekord do bazy 

    $ins = @mysql_query("INSERT INTO test SET xxx='$xxx', yyy='$yyy'"); 


    if($ins) echo "Rekord został dodany poprawnie"; 

    else echo "Błąd nie udało się dodać nowego rekordu"; 


    mysql_close($connection); 

} 


?>

Wszystko działa rekord jest dodawany poprawnie ,ale ja bym chciał żeby to się działo bez przeładowania strony. Jak się do tego zabrać ? kombinuję od paru dni czytam kursy ale nic mi nie wychodzi prosił bym o radę, a najlepiej jakiegoś prostego gotowca do analizy.


(Drobok) #2

No nie wiem czy czytałeś te tuty :stuck_out_tongue:


(Kacper B Zuk) #3

Wpisz w google "ajax form submit" i otwórz pierwszy wynik...


(Poczta8800) #4

No mam tak :

w formularzu

no i mi wczytuje plik php do diwa faktycznie bez przeładowania strony ale nie dodaje rekordu do bazy :?


(Kacper B Zuk) #5

Bo ten kod tylko wczytuje obraz.php do diva po wciśnięciu przycisku, żadnych danych do niego nie wysyła. Spróbuj tak jak jest tutaj.


(Damgora) #6

tu jest chyba najprostszy sposób na wysłanie danych z formularza ajaxem. Niestety nie wszystkie przeglądarki go obsługują.

https://developer.mozilla.org/En/Using_ ... #section_8


(Drobok) #7

Zawsze można połączyć sobie wszystko za pomocą jakiegoś nie używanego znaku np |, a potem podzielić w php ;]


(Poczta8800) #8

no i dało rade :slight_smile: ajax prawie działa problem jest jeszcze z polskimi znakami , mam takie coś

echo '  
 ';

formularz jest wysyłany do pliku php tam już z polskich znaków są krzaki ,nie chce robić walidacji formularza usuwając je bo na stroni z mini czatem raczej muszą być w head mam w iso-8859-2

-- Dodane 21.08.2011 (N) 11:37 --

oki :smiley: już mam problem był w pliku ajax.js zmieniłem :

escape()

na :

encodeURIComponent()

używam sposobu podanego tutaj można wysyłać i odbierać ajaksem chyba wszystko włącznie z grafiką png która nie musi być dodatkowo w jakimś pliku http://www.simonerodriguez.com/ajax-form-submit-example/

thx wszystkim za pomoc =D>