Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Przesyłanie danych z formularza
Forum PHP.pl > Forum > Przedszkole
andrzejlechniak
Mam takie coś:

  1. if (isset ($_POST['submit'])) {
  2. $sql = "INSERT INTO klienci
  3. (imie_nazwisko,adres,kod_pocztowy,miasto,e_mail,telefon1,telefon2,nip_firmy,
    adres_firmy,kodpocztowy_firmy,miasto_firmy,telefonfirmy_1,telefonfirmy_2,data)
  4. VALUES ('{$_POST['imie_nazwisko']}','{$_POST['adres']}','{$_POST['kod_pocztowy']}','{$_POST['miasto']}','{$_POST['e_mail']}','{$_POST['telefon1']}','{$_POST['telefon2']}','{$_POST['nip_firmy']}','{$_POST['adres_firmy']}','{$_POST['kodpocztowy_firmy']}','{$_POST['miasto_firmy']}','{$_POST['telefonfirmy_1']}','{$_POST['telefonfirmy_2']}',CURDATE());";
  5. $result=mysql_query($sql) or print ($sql);
  6. }
  7.  
  8. ...<div>Podaj imie i nazwisko: <input type="text" name="imie_nazwisko" value="'.$row_up['imie_nazwisko'].'" /></div>
  9. <div>Podaj adres zamieszkania: <input type="text" name="adres" value="'.$row_up['adres'].'" /></div>
  10. <div>Podaj kod pocztowy: <input type="text" name="kod_pocztowy" value="'.$row_up['kod_pocztowy'].'" /></div>
  11. <div>Podaj miasto: <input type="text" name="miasto" value="'.$row_up['miasto'].'" /></div>
  12. <div>Podaj adres e-mail: <input type="text" name="e_mail" value="'.$row_up['e_mail'].'" /></div>
  13. <div>Podaj numer kontaktowy: <input type="text" name="telefon1" value="'.$row_up['telefon1'].'" /></div>
  14. <div>Podaj alternatywny nr kontaktowy: <input type="text" name="telefon2" value="'.$row_up['telefon2'].'" /></div>...
  15.  


i... na drugiej stronie (znaczy, gdzie dane idą):

  1. $sql = "SELECT id,imie_nazwisko,adres,kod_pocztowy,miasto,e_mail,telefon1,telefon2,data FROM klienci ORDER BY data ASC;";
  2. $result = mysql_query($sql) or print ($sql);
  3. while($row = mysql_fetch_array($result))
  4. {
  5. echo '<table>
  6. <tr>
  7. <th>Nr</th>
  8. <th>Imię i nazwisko</th>
  9. <th>Adres</th>
  10. <th>Kod pocztowy</th>
  11. <th>Miasto</th>
  12. <th>E-mail</th>
  13. <th>Telefon</th>
  14. <th>Telefon2</th>
  15. <th>Data</th>
  16. <tr>
  17. <td width="10%">'.$row['id'].'</td>
  18. <td width="10%">'.$row['imie_nazwisko'].'</td>
  19. <td width="10%">'.$row['adres'].'</td>
  20. <td width="10%">'.$row['kod_pocztowy'].'</td>
  21. <td width="10%">'.$row['miasto'].'</td>
  22. <td width="10%">'.$row['e_mail'].'</td>
  23. <td width="10%">'.$row['telefon1'].'</td>
  24. <td width="10%">'.$row['telefon2'].'</td>
  25. <td width="10%">'.$row['data'].'</td>
  26. <td width="10%"></td>
  27.  
  28. </tr>
  29. </table>';


Problem w tym, że nic się nie wyświetla, dlaczego?
ciekawskiii
zmien na
  1. while($row = mysql_fetch_assoc($result))


lub wyswietlaj

  1. $row[1] $row[2] itd.
andrzejlechniak
Zmieniłem, ale to nie o to chodzi, a o fakt, że się nie dodają dane. Próbowałem w phpMyAdmin i dostałem błąd:

  1. #1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '$sql = "INSERT INTO klienci (imie_nazwisko,adres,kod_pocztowy,miasto,e_mail,t' at line 1


Tylko nie wiem, gdzie on jest
nospor
Czemu do PMA wklejasz kod php zapytania? Masz wkleic samo zapytanie a nie kod php...
andrzejlechniak
OK, włożyłem do PM takie coś:

  1. INSERT INTO klienci(
  2. imie_nazwisko,
  3. adres,
  4. kod_pocztowy,
  5. miasto,
  6. e_mail,
  7. telefon1,
  8. telefon2,
  9. nip_firmy,
  10. adres_firmy,
  11. kodpocztowy_firmy,
  12. miasto_firmy,
  13. telefonfirmy_1,
  14. telefonfirmy_2,
  15.  
  16. DATA
  17. )
  18. VALUES (
  19. '{$_POST['imie_nazwisko ']}', '{$_POST['adres ']}', '{$_POST['kod_pocztowy ']}', '{$_POST['miasto ']}', '{$_POST['e_mail ']}', '{$_POST['telefon1 ']}', '{$_POST['telefon2 ']}', '{$_POST['nip_firmy ']}', '{$_POST['adres_firmy ']}', '{$_POST['kodpocztowy_firmy ']}', '{$_POST['miasto_firmy ']}', '{$_POST['telefonfirmy_1 ']}', '{$_POST['telefonfirmy_2 ']}', CURDATE( )
  20. );


i... i to samo:

  1. #1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'imie_nazwisko']}','{$_POST['adres']}','{$_POST['kod_pocztowy']}','{$_POST['miast' at line 3


a wydaje mi się że wszystkie dane są ok, ale jak widać nie, tylko które i gdzie?
ciekawskiii
zapytanie bledu nie ma a przede wszystkim to przefiltruj te dane bo teraz masz kosmos z tym zapisem:S

a skad bierzesz
  1. if (isset ($_POST['submit']))
questionmark.gif

w formularzu tez brakuje <form>
andrzejlechniak
Podaje fragment mojego kodu - strona dodawania danych do bazy:

  1. if (isset ($_POST['submit'])) {
  2. $sql = "INSERT INTO klienci
  3. (imie_nazwisko,adres,kod_pocztowy,miasto,e_mail,telefon1,telefon2,nip_firmy,
    adres_firmy,kodpocztowy_firmy,miasto_firmy,telefonfirmy_1,telefonfirmy_2,data)
  4. VALUES ('{$_POST['imie_nazwisko']}','{$_POST['adres']}','{$_POST['kod_pocztowy']}','{$_POST['miasto']}','{$_POST['e_mail']}','{$_POST['telefon1']}','{$_POST['telefon2']}','{$_POST['nip_firmy']}','{$_POST['adres_firmy']}','{$_POST['kodpocztowy_firmy']}','{$_POST['miasto_firmy']}','{$_POST['telefonfirmy_1']}','{$_POST['telefonfirmy_2']}',CURDATE());";
  5. $result=mysql_query($sql) or print ($sql);
  6. }
  7.  
  8. echo '<form action="index2.php" method="POST">
  9. <div style="width: 500px; border: 1px solid #dddddd;">
  10. <div>Wybierz rodzaju dostarczenia: </div>
  11. <select name="dostarczanie">
  12. <option value="nie_wybrano">Wybierz z listy</option>
  13. <option value="odbior_osobisty">Odbiór osobisty</option>
  14. <option value="kurier">Kurier z PP Poczta Polska</option>
  15. <option value="paczka">Paczka z PP Poczta Polska</option>
  16. </select>
  17. <div>Wybierz rodzaj płatnosci: </div>
  18. <select name="platnosci">
  19. <option value="nie_wybrano">Wybierz z listy</option>
  20. <option value="odbior_osobisty">Odbiór osobisty</option>
  21. <option value="przelew">Przelew na konto</option>
  22. <option value="przekaz">Przekaz pocztowy</option>
  23. </select><br />
  24. <hr />
  25.  
  26. <div>PODAJ DANE DO WYSYŁKI: </div>
  27. <div>Podaj imie i nazwisko: <input type="text" name="imie_nazwisko" value="'.$row_up['imie_nazwisko'].'" /></div>
  28. <div>Podaj adres zamieszkania: <input type="text" name="adres" value="'.$row_up['adres'].'" /></div>
  29. <div>Podaj kod pocztowy: <input type="text" name="kod_pocztowy" value="'.$row_up['kod_pocztowy'].'" /></div>
  30. <div>Podaj miasto: <input type="text" name="miasto" value="'.$row_up['miasto'].'" /></div>
  31. <div>Podaj adres e-mail: <input type="text" name="e_mail" value="'.$row_up['e_mail'].'" /></div>
  32. <div>Podaj numer kontaktowy: <input type="text" name="telefon1" value="'.$row_up['telefon1'].'" /></div>
  33. <div>Podaj alternatywny nr kontaktowy: <input type="text" name="telefon2" value="'.$row_up['telefon2'].'" /></div>
  34. <hr />
  35. <div>DANE DO FAKTURY:</div>
  36. <div>Podaj NIP Firmy <input type="text" name="nip_firmy" value="'.$row_up['nip_firmy'].'" /></div>
  37. <div>Podaj adres firmy -ULICA-: <input type="text" name="adres_firmy" value="'.$row_up['adres_firmy'].'" /></div>
  38. <div>Podaj kod pocztowy: <input type="text" name="kodpocztowy_firmy" value="'.$row_up['kodpocztowy_firmy'].'" /></div>
  39. <div>Podaj miasto: <input type="text" name="miasto_firmy" value="'.$row_up['miasto_firmy'].'" /> </div>
  40. <div>Podaj numer kontaktowy: <input type="text" name="telefonfirmy_1" value="'.$row_up['telefonfirmy_1'].'" /> </div>
  41. <div>Podaj alternatywny nr telefonu: <input type="text" name="telefonfirmy_2" value="'.$row_up['telefonfirmy_2'].'" /> </div>
  42.  
  43. <input type="submit" value="dodaj" value="Dodaj" title="Dodaj wiadomość"/>
  44. </div>
  45. </form>';


Apropos, jak mogę wyświetlić na wynikowej stronie tylko ten jeden rekord?!
ciekawskiii
jak juz to tak
  1. <input type="submit" [b]name="submit"[/b] value="dodaj" value="Dodaj" title="Dodaj wiadomość"/>


typu inputa nie przesylasz jako $_POST ani $_GET tylko nazwe

lub dodajesz ukryty input hidden
lub sprawdzasz czy poprzednie pola zostaly wyslane

p.s. nie zauwazylem, masz dwa razy value="dodaj"
andrzejlechniak
Poprawiłem podwójne value="dodaj" tak, że jest jedno i zmieniłem też name="submit", lecz nic to nie zmieniło. Wciąż pustą stronkę otrzymuję (tzn. bez wyników). Dodam tylko, że strona wyświetlająca dane dobrze działa (Sprawdzałem na testowych danych)
ciekawskiii
  1. $sql = mysql_query("INSERT INTO klienci
  2. (imie_nazwisko,adres,kod_pocztowy,miasto,e_mail,telefon1,telefon2,nip_firmy,
    adres_firmy,kodpocztowy_firmy,miasto_firmy,telefonfirmy_1,telefonfirmy_2,data)
  3. VALUES ('{$_POST['imie_nazwisko']}','{$_POST['adres']}','{$_POST['kod_pocztowy']}','{$_POST['miasto']}','{$_POST['e_mail']}','{$_POST['telefon1']}','{$_POST['telefon2']}','{$_POST['nip_firmy']}','{$_POST['adres_firmy']}','{$_POST['kodpocztowy_firmy']}','{$_POST['miasto_firmy']}','{$_POST['telefonfirmy_1']}','{$_POST['telefonfirmy_2']}',CURDATE());");
  4. if($sql) { echo "zapisano dane" }else{ echo "nie zapisano danych"; }
  5. //tu wyswietlasz przeslane dane
  6. }
  7.  


musi zapisac
andrzejlechniak
niestety nic z tego, bez zmian sad.gif sad.gif
ciekawskiii
ale zapisuje Ci dane do bazy? moze zle formularz przekierowujesz, na inny adres:D
andrzejlechniak
Myślałem, że wiem przez chwilę o co chodzi, ale się pomyliłem. Piszę krypt dodawania danych klientów do bazy w sklepie. Wszystkie one są w sesji, może TUTAJ tkwi błąd podaję cały kod strony dodającej dane:

  1. function odbierz($txt) {
  2. if (get_magic_quotes_gpc()) $txt = stripslashes($txt);
  3. return str_replace(array('\\',"'"), array('\\\\',"\'"), trim($txt));
  4. }
  5.  
  6. $id = odbierz($_REQUEST["id"]);
  7. $sz = isset($_REQUEST["sz"])?number_format($_REQUEST["sz"],0,".",""):"";
  8.  
  9. if ($id !="") {
  10.  
  11. $query = mysql_query("SELECT * FROM produkty WHERE id='$id'");
  12. if ($query and mysql_num_rows($query)==1) {
  13. $dane = mysql_fetch_array($query);
  14. $_SESSION["koszyk"]["$id"]["towar"]=$dane["towar"];
  15. $_SESSION["koszyk"]["$id"]["cena"]=$dane["cena"];
  16. $_SESSION["koszyk"]["$id"]["zdjecie"]=$dane["zdjecie"];
  17.  
  18. if ($sz=="") $_SESSION["koszyk"]["$id"]["ile"]++;
  19. else if ($sz>=1) $_SESSION["koszyk"]["$id"]["ile"]=$sz;
  20. else if ($sz<=0) unset($_SESSION["koszyk"]["$id"]);
  21. }
  22. }
  23.  
  24. if (count($_SESSION["koszyk"])>0) {
  25. echo "<table align='center' style='width:500px; border: 1px solid #dddddd;'>
  26. <tr><th colspan='5' style='border-bottom: 1px solid #dddddd;'>Twoje zamówienie: </th></tr>
  27. <tr>
  28. <th colspan='4'>Popraw swoje <a href=\"koszyk.php?id=$id\">zamówienie</a> | Wróć do <a href='index.php'>sklepu</a></th>
  29. </tr>
  30. <tr>
  31. <th width='15%'>Zdjęcie</th>
  32. <th width='20%'>Nazwa produktu</th>
  33. <th width='10%'>Cena</th>
  34. <th width='10%'>Sztuk</th>
  35. <th width='15%'>Razem</th>
  36. </tr>";
  37.  
  38. foreach($_SESSION["koszyk"] as $indeks=>$kosz) {
  39. echo "<tr>";
  40. echo "<td valign='top'><img src='zdjecia/{$kosz["zdjecie"]}' /></td>";
  41. echo "<td valign='top'>{$kosz["towar"]}</td>";
  42. echo "<td valign='top'>{$kosz["cena"]} zł</td>";
  43. echo "<td valign='top'>
  44. <div style=\"display:inline;\">{$kosz["ile"]}</div>
  45. </td>";
  46. echo "<td valign='top'>".number_format($kosz["cena"]*$kosz["ile"],2,".","");
  47. echo " zł</td></tr>";
  48. $lacznie +=$kosz["cena"]*$kosz["ile"];
  49. }
  50. echo "<tr><td colspan=\"5\" align=\"right\" style='border-top: 1px solid #dddddd;'>
  51. w sumie: ";
  52. echo number_format($lacznie,2,".","")." zł</td></tr>";
  53. echo "</table>";
  54.  
  55.  
  56. if (isset ($_POST['submit'])) {
  57. $sql = mysql_query("INSERT INTO klienci
  58. (id,imie_nazwisko,adres,kod_pocztowy,miasto,e_mail,telefon1,telefon2,nip_fir
    my,adres_firmy,kodpocztowy_firmy,miasto_firmy,telefonfirmy_1,telefonfirmy_2,data)
  59. VALUES ('{$_POST['imie_nazwisko']}','{$_POST['adres']}','{$_POST['kod_pocztowy']}','{$_POST['miasto']}','{$_POST['e_mail']}','{$_POST['telefon1']}','{$_POST['telefon2']}','{$_POST['nip_firmy']}','{$_POST['adres_firmy']}','{$_POST['kodpocztowy_firmy']}','{$_POST['miasto_firmy']}','{$_POST['telefonfirmy_1']}','{$_POST['telefonfirmy_2']}',CURDATE());");
  60. $result = mysql_query($sql) or print ($sql);
  61. }
  62.  
  63. echo '<form action="zakup2.php" method="POST">
  64. <div style="width: 500px; border: 1px solid #dddddd;">
  65. <div>Wybierz rodzaju dostarczenia: </div>
  66. <select name="dostarczanie">
  67. <option value="nie_wybrano">Wybierz z listy</option>
  68. <option value="odbior_osobisty">Odbiór osobisty</option>
  69. <option value="kurier">Kurier z PP Poczta Polska</option>
  70. <option value="paczka">Paczka z PP Poczta Polska</option>
  71. </select>
  72. <div>Wybierz rodzaj płatnosci: </div>
  73. <select name="platnosci">
  74. <option value="nie_wybrano">Wybierz z listy</option>
  75. <option value="odbior_osobisty">Odbiór osobisty</option>
  76. <option value="przelew">Przelew na konto</option>
  77. <option value="przekaz">Przekaz pocztowy</option>
  78. </select><br />
  79. <hr />
  80.  
  81. <div>PODAJ DANE DO WYSYŁKI: </div>
  82. <div>Podaj imie i nazwisko: <input type="text" name="imie_nazwisko" /></div>
  83. <div>Podaj adres zamieszkania: <input type="text" name="adres" value="'.$row_up['adres'].'" /></div>
  84. <div>Podaj kod pocztowy: <input type="text" name="kod_pocztowy" value="'.$row_up['kod_pocztowy'].'" /></div>
  85. <div>Podaj miasto: <input type="text" name="miasto" value="'.$row_up['miasto'].'" /></div>
  86. <div>Podaj adres e-mail: <input type="text" name="e_mail" value="'.$row_up['e_mail'].'" /></div>
  87. <div>Podaj numer kontaktowy: <input type="text" name="telefon1" value="'.$row_up['telefon1'].'" /></div>
  88. <div>Podaj alternatywny nr kontaktowy: <input type="text" name="telefon2" value="'.$row_up['telefon2'].'" /></div>
  89. <hr />
  90. <div>DANE DO FAKTURY:</div>
  91. <div>Podaj NIP Firmy <input type="text" name="nip_firmy" value="'.$row_up['nip_firmy'].'" /></div>
  92. <div>Podaj adres firmy -ULICA-: <input type="text" name="adres_firmy" value="'.$row_up['adres_firmy'].'" /></div>
  93. <div>Podaj kod pocztowy: <input type="text" name="kodpocztowy_firmy" value="'.$row_up['kodpocztowy_firmy'].'" /></div>
  94. <div>Podaj miasto: <input type="text" name="miasto_firmy" value="'.$row_up['miasto_firmy'].'" /> </div>
  95. <div>Podaj numer kontaktowy: <input type="text" name="telefonfirmy_1" value="'.$row_up['telefonfirmy_1'].'" /> </div>
  96. <div>Podaj alternatywny nr telefonu: <input type="text" name="telefonfirmy_2" value="'.$row_up['telefonfirmy_2'].'" /> </div>
  97.  
  98. <input type="hidden" name="nb_update" value="'.$row_up['id'].'" />
  99. <input type="submit" name="submit" value="Dodaj" title="Dodaj"/>
  100. </div>
  101. </form>';
  102.  
  103. } else echo "<p>Koszyk jest pusty...</p>";
  104. ?>


PLEASE HELP
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.