Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Przekazywanie parametru POST
Forum PHP.pl > Forum > XML, AJAX
e-y-e
Na mojej stronie głównej mam textarea chcę go zapisać do bazy danych. W tym celu wywołuję kilka funkcji które znajdują się w kilku plikach. Problem polega na tym że gdy odczytuję parametr z tablicy $_POST to jest pusty. Do bazy zostaje zapisany pusty rekord. Korzystam z gotowych przykładów z książki AJAX i PHP. Spędziłem kilka godzin szukając rozwiązania mojego problemu nie znalazłem dlatego zwracam się o pomoc do Was.




  1. function startRequest()
  2. {
  3. var url = "save.php";
  4. var params = '';
  5. var tekst = document.getElementById("tresc").value;
  6. var btn1 = document.getElementById("btn1");
  7.  
  8.  
  9. //btn1.value = tresc.innerHTML;
  10.  
  11. btn1.disabled = true;
  12. params = "db_text=" + encodeURIComponent(tekst);
  13.  
  14. alert(params)
  15. startPOSTRequest(url, params, onComplete, onEnd);
  16. btn1.disabled = false;
  17. }


  1. function startPOSTRequest(url, params, onComplete, onEnd)
  2. {
  3. var XMLHttpRequestObject = getXMLHttpRequestObject();
  4. if(XMLHttpRequestObject){
  5. XMLHttpRequestObject.open("POST", url);
  6. XMLHttpRequestObject.setRequestHeader('Content-Type' , 'application/x-www-form-urlencoded');
  7. XMLHttpRequestObject.onreadystatechange = function ()
  8. {
  9. if(XMLHttpRequestObject.readyState == 4){
  10. if(XMLHttpRequestObject.status == 200){
  11. var responseXML = XMLHttpRequestObject.responseXML;
  12. var responseText = XMLHttpRequestObject.responseText;
  13. onComplete(responseText, responseXML);
  14. }
  15. delete XMLHttpRequestObject;
  16. onEnd();
  17. }
  18. }
  19. alert(params);
  20. XMLHttpRequestObject.send(params);
  21. }
  22. }


  1. <?php
  2.  
  3. $link = mysql_connect('' , '' , '') or die("nie udało się połączyć z bazą"); //połączenie z bazą danych
  4.  
  5.  
  6. $db_id = '';
  7. $db_link_nr = '1'; //link_nr - numer linku (strona główna ma numer 1)
  8. $db_desc = 'Strona główna'; //desc - opis pola (strona główna)
  9. $db_text = $_POST['db_text']; //text - to co będzie widoczne na stronie
  10. $db_data = ''; //data - data zapisania rekordu
  11.  
  12. $db_selected = mysql_select_db('westerplatte_cba_pl');
  13. if(!$db_selected)
  14. {
  15. die('Nie można ustawić: ' .mysql_error());
  16. }
  17.  
  18.  
  19.  
  20.  
  21. $zapytanie = "INSERT INTO `main`(`id`, `link_nr`, `desc`, `text`, `data`) VALUES
  22. ('$db_id', '$db_link_nr', '$db_desc', '$db_text', '$db_data')";
  23. mysql_query($zapytanie) or die(mysql_error());
  24.  
  25.  
  26. mysql_close($link); //zamykam baze
  27.  
  28. ?>


wiiir
zainstaluj sobie firebuga i zobacz w konsoli jakie parametry wysylasz a wlasciwie ich wartosc..

PS Korzystaj z gotowych rzeczy jak jquery.ajax(), bo takie rzeczy sie rzezbilo jak ajax zaczynal sie pojawiac smile.gif
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.