Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [AJAX][MySQL][PHP]Problem z wyslaniem danych ajax->php->mysql
Forum PHP.pl > Forum > Przedszkole
chemicalduck
Mam taki problem, że próbuje wysłać formularz do bazy robię to przez przekazanie danych ajax->plik.php->db
  1. <script type="text/javascript">
  2. $(document).ready(
  3. function()
  4. {
  5. $("#clean").click(function(){
  6. $("form[name=boiler]").clearForm();
  7. });
  8. $("#button").click( function(){
  9. $.post("boiler_edit.php" , { action: "insert" , a:$("form").serialize() } , function(data){alert(data);
  10. });
  11. $("form[name=boiler]").clearForm();
  12. });});
  13.  
  14. <div id="add">
  15. <h1>Dodaj</h1>
  16. <form name="boiler">
  17. <label><input type="text" name="year" maxlength="4">Rok</label><br />
  18. <label><input type="text" name="investor">Inwestor</label><br />
  19. <label><input type="text" name="city">Miasto</label><br />
  20. <label><input type="text" name="genre">Rodzaj robót</label><br />
  21. <p>Zakres robót</p><br />
  22. <label><input type="checkbox" name= "range[]" value="Projekt">Projekt</label>
  23. <label><input type="checkbox" name= "range[]" value="Serwis">Serwis</label>
  24. <label><input type="checkbox" name= "range[]" value="Wykonastwo">Wykonastwo</label><br />
  25. <span id="button">Dodaj</span>
  26. <span id="clean">Wyczyść</span>
  27. </form>
  28. <p id="result"></p>


Dalej to jest przekazywane do pliku php
  1. <?php
  2.  
  3. $action=$POST['action'];
  4. $form=$_POST['a'];
  5. parse_str($form);
  6.  
  7.  
  8. $host="localhost";
  9. $user="aaa";
  10. $haslo="aaa";
  11. $baza="aaa";
  12.  
  13.  
  14. $link=mysql_connect($host,$user,$haslo)
  15. or die("<br />Nie można uzyskać połączenia z serwerem MySQL");;
  16.  
  17. mysql_select_db($baza, $link)
  18. or die("Nie można wybrać bazy");
  19. if($action == "delete"){
  20. $sql="DELETE FROM `boiler` WHERE id='$id' ";
  21. $result=mysql_query($sql,$link);
  22. mysql_close($link);
  23. echo "Usunałeś inwestycje";
  24. }
  25. elseif($action == "insert"){
  26. $sql="INSERT INTO `boiler` (`year`, `investor`, `genre`,`city`, `range`) VALUES ('$year',
  27. '$investor', '$genre','$city', '$range')";
  28. $result=mysql_query($sql,$link);
  29. mysql_close($link);}


Teraz tak firebug pokazuje mi że dane zostały wysłane, ale nie sa dodawane do bazy danych.Jezeli natomiast skopiuje dane które sa wysyłane z firebuga i podstawie pod zmienna $form. Wszystko jest ok. formularz zostaje dodany.

o co chodzi?
MateuszS
masz
$action=$POST['action'];

zamiast

$action=$_POST['action'];
chemicalduck
Super, faktycznie to okazało się problemem. Czasem diabeł tkwi w szczegółach.
Pozdrawiam!
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.