Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Zapisywanie do bazy jedynie pustych pól
Forum PHP.pl > Forum > PHP
alpin19
Witam

Wreszcie udało mi się połączyć moduł wprowadzania danych z bazą mysql. Niestety napotkałem kolejny problem:
Kiedy pola dla danych pozostawię puste zostają one zapisane do bazy, kiedy jednak wprowadzę jakiekolwiek wartości - one poprostu giną nie wyświetlając żadnego komunikatu o błędzie:

Wysyłanie danych do bazy:
  1. <?
  2. mysql_query (&#092;"INSERT INTO `ksiegarnia` (`product_name`, 
  3.  `product_number`, 
  4.  `product_price`, 
  5.  `product_isbn`, 
  6.  `product_ean`, 
  7.  `product_manufacture`, 
  8.  `product_char`, 
  9.  `product_picture`) VALUES 
  10. ('$product_name',
  11.  '$product_number', 
  12.  '$product_price', 
  13.  '$product_isbn', 
  14.  '$product_ean', 
  15.  '$product_manufacture', 
  16.  '$product_char', 
  17.  '$product_picture')&#092;");
  18.  
  19.  
  20.  ?>


Wyświetlanie ich na kolejnej stronie:

  1. <?php
  2.  // edycja.php
  3.  // podstrona służąca edycji i przeglądaniu wprowadzonych do bazy danych. 
  4.  // autor - Karol Lipnicki
  5.  
  6.  $adres = &#092;"localhost\";
  7.  $uzytkownik = &#092;"alpin19\";
  8.  $haslo = &#092;"\";
  9.  $baza_danych = &#092;"domowa\";
  10.  
  11.  //połączenie z serwerem MySQL
  12.  $db = mysql_connect($adres, $uzytkownik, $haslo);
  13.  
  14.  //wybranie bazy danych
  15.  mysql_select_db ($baza_danych);
  16.  
  17.  $query = mysql_query(&#092;"SELECT * FROM `ksiegarnia` WHERE 1 LIMIT 0 , 30 \");
  18. while($query_data = mysql_fetch_row($query))
  19. {
  20. print(&#092;"<table bgcolor='#33390b' cellspacing='1' cellpadding='1' align='center' valign='middle'>\");
  21. print(&#092;"<tr>\");
  22. print(&#092;"<td height='20' width='400' bgcolor='#9a9f75' align='center'>\");
  23. print(&#092;"<font size=' ' color=' '>Nazwa Towaru</font>\");
  24. print(&#092;"</td>\");
  25.  
  26. print(&#092;"<td height='20' width='50' bgcolor='#9a9f75' align='center'>\");
  27. print(&#092;"<font size=' ' color=' '>Sztuk</font>\");
  28. print(&#092;"</td>\");
  29.  
  30. print(&#092;"<td height='20' width='60' bgcolor='#9a9f75' align='center'>\");
  31. print(&#092;"<font size=' ' color=' '>Cena</font>\");
  32. print(&#092;"</td>\");
  33.  
  34. print(&#092;"<td height='20' width='120' bgcolor='#9a9f75' align='center'>\");
  35. print(&#092;"<font size=' ' color=' '>ISBN</font>\");
  36. print(&#092;"</td>\");
  37.  
  38. print(&#092;"<td height='20' width='120' bgcolor='#9a9f75' align='center'>\");
  39. print(&#092;"<font size=' ' color=' '>EAN</font>\");
  40. print(&#092;"</td>\");
  41.  
  42. print(&#092;"<td height='20' width='120' bgcolor='#9a9f75' align='center'>\");
  43. print(&#092;"<font size=' ' color=' '>Wytwórca</font>\");
  44. print(&#092;"</td>\");
  45.  
  46. print(&#092;"<td height='20' width='140' bgcolor='#9a9f75' align='center'>\");
  47.  
  48. print(&#092;"</td>\");
  49. print(&#092;"</tr>\");
  50.  
  51. print(&#092;"<tr>\");
  52.  
  53. print(&#092;"<td height='20' width='400' bgcolor='#9a9f75' align='center'>\");
  54. echo $query_data[0];
  55. print(&#092;"</td>\");
  56.  
  57. print(&#092;"<td height='20' width='50' bgcolor='#9a9f75' align='center'>\");
  58. echo $query_data[1];
  59. print(&#092;"</td>\");
  60.  
  61. print(&#092;"<td height='20' width='60' bgcolor='#9a9f75' align='center'>\");
  62. echo $query_data[2];
  63. print(&#092;"</td>\");
  64.  
  65. print(&#092;"<td height='20' width='120' bgcolor='#9a9f75' align='center'>\");
  66. echo $query_data[3];
  67. print(&#092;"</td>\");
  68.  
  69. print(&#092;"<td height='20' width='120' bgcolor='#9a9f75' align='center'>\");
  70. echo $query_data[4];
  71. print(&#092;"</td>\");
  72.  
  73. print(&#092;"<td height='20' width='120' bgcolor='#9a9f75' align='center'>\");
  74. echo $query_data[5];
  75. print(&#092;"</td>\");
  76.  
  77. print(&#092;"<td height='20' width='140' bgcolor='#9a9f75' align='center'>\");
  78. print(&#092;"<form name='ksiegarnia1-edycja' action='edytor.php' method='get'>\");
  79.  print(&#092;"<input type='submit' value='Edytyj Dane !'>\");
  80.  print(&#092;"</form>\");
  81.  print(&#092;"</td>\");
  82.  
  83. print(&#092;"</tr>\");
  84. print(&#092;"</table>\");
  85. }
  86.  
  87.  ?>
scanner
Stawiam na register_globals.
alpin19
Mój drogi - register_globals jest ustawione na 'on'....
NuLL
Jak to ma działać skoro formmularz ma tylko submit-a ?
alpin19
NuLL - w zupełności zdaje sobie sprawę z tego, że macie o wiele większą wiedzę ode mnie i staram się z nikim nie spierać. Proszę więc - napisz czego brakuje mojemu skryptowi !



--------------------
Dodane:

Wy jednak macie coś w sobie - wasze odpowiedzi potrafią mnie zmusić do skutecznego szukania informacji. Dokonałem pewnych zmian i działa. Dzięki waszej mobilizacji mojej osoby !

1. istniejący wówczas zapis:
  1. <?php
  2. <form name=&#092;"ksiegarnia1-dodawanie\" action=\"edycja.php\" method=\"get\">
  3. ?>

zamieniłem na:
  1. <form name=\"ksiegarnia1-dodawanie\" action=\"<?php echo $PHP_SELF ?>\" method=\"POST\">
i skrypt działa !
czachor
A mógłbyś pokazać kod, w którym wprowadzasz dane? Bo o ile się nie mylę, to podałeś zapytanie SQL odpowiedzialne za dodanie danych do bazy i potem ich wyświetlanie...

PS. I polecam zainteresowanie się ustawieniem register_globals na off.
alpin19
Już podaję:
  1. <html>
  2. <head>
  3. <title>PANEL ADMINISTRACYJNY</title>
  4. <meta http-equiv=\"Content Type\" content=\"text/html; charset=iso-8859-2\">
  5. </head>
  6. <body bgcolor=\"#e5e8d1\" align=\"center\">
  7. <?php
  8. //index.php
  9. // konfiguracja
  10. $adres = &#092;"localhost\";
  11. $uzytkownik = &#092;"alpin19\";
  12. $haslo = &#092;"\";
  13. $baza_danych = &#092;"domowa\";
  14.  
  15. // podłączenie się do mysql
  16. $db = mysql_connect ($adres, $uzytkownik, $haslo);
  17.  
  18. // wybranie bazy
  19. mysql_select_db ($baza_danych);
  20. ?>
  21. <form name=\"ksiegarnia1-dodawanie\" action=\"<?php echo $PHP_SELF ?>\" method=\"POST\">
  22. <table align=\"center\" cellspacing=\"1\" cellpadding=\"1\" bgcolor=\"#060700\">
  23. <tr>
  24. <td height=\"500\" width=\"920\" bgcolor=\"#5c6042\">
  25.  <table bgcolor=\"#33390b\" cellspacing=\"1\" cellpadding=\"1\" align=\"center\" valign=\"middle\">
  26.  <tr>
  27.  <td height=\"20\" width=\"903\" bgcolor=\"#9a9f75\" align=\"center\">
  28.  <font size=\"\" color=\"\">WPROWADZANIE NOWYCH POZYCJI</font>
  29.  </td>
  30.  </tr>
  31.  </table>
  32.  </br>
  33.  <table bgcolor=\"#33390b\" cellspacing=\"1\" cellpadding=\"1\" align=\"center\" valign=\"middle\">
  34.  <tr>
  35.  <td height=\"30\" width=\"300\" bgcolor=\"#9a9f75\" align=\"center\">
  36.  <font size=\"\" color=\"\">Nazwa towaru</font>
  37.  </td>
  38.  
  39.  <td height=\"30\" width=\"300\" bgcolor=\"#9a9f75\" align=\"center\">
  40.  <font size=\"\" color=\"\">Ilość sztuk</font>
  41.  </td>
  42.  
  43.  <td height=\"30\" width=\"300\" bgcolor=\"#9a9f75\" align=\"center\">
  44.  <font size=\"\" color=\"\">Cena jednostkowa</font>
  45.  </td>
  46.  </tr>
  47.  
  48.  <tr>
  49.  <td height=\"30\" width=\"300\" bgcolor=\"#9a9f75\" align=\"center\">
  50.  <input type=\"text\" name=\"product_name\" value=\"<?php echo $product_name; ?>\">
  51.  </input>
  52.  </td>
  53.  
  54.  <td height=\"30\" width=\"300\" bgcolor=\"#9a9f75\" align=\"center\">
  55.  <input type=\"text\" name=\"product_number\" value=\"<?php echo $product_number; ?>\">
  56.  </input>
  57.  </td>
  58.  
  59.  <td height=\"30\" width=\"300\" bgcolor=\"#9a9f75\" align=\"center\">
  60.  <input type=\"text\" name=\"product_price\" value=\"<?php echo $product_price; ?>\">
  61.  </input>
  62.  </td>
  63.  </tr>
  64.  
  65.  <tr>
  66.  <td height=\"30\" width=\"300\" bgcolor=\"#9a9f75\" align=\"center\">
  67.  <font size=\"\" color=\"\">ISBN (jeśli istnieje)</font>
  68.  </td>
  69.  
  70.  <td height=\"30\" width=\"300\" bgcolor=\"#9a9f75\" align=\"center\">
  71.  <font size=\"\" color=\"\">EAN (jeśli istnieje)</font>
  72.  </td>
  73.  
  74.  <td height=\"30\" width=\"300\" bgcolor=\"#9a9f75\" align=\"center\">
  75.  <font size=\"\" color=\"\">Producent</font>
  76.  </td>
  77.  </tr>
  78.  
  79.  <tr>
  80.  <td height=\"30\" width=\"300\" bgcolor=\"#9a9f75\" align=\"center\">
  81.  <input type=\"text\" name=\"product_isbn\" value=\"<?php echo $product_isbn; ?>\">
  82.  </input>
  83.  </td>
  84.  
  85.  <td height=\"30\" width=\"300\" bgcolor=\"#9a9f75\" align=\"center\">
  86.  <input type=\"text\" name=\"product_ean\" value=\"<?php echo $product_ean; ?>\">
  87.  </input>
  88.  </td>
  89.  
  90.  <td height=\"30\" width=\"300\" bgcolor=\"#9a9f75\" align=\"center\">
  91.  <input type=\"text\" name=\"product_manufacture\" value=\"<?php echo $product_manufacture; ?>\">
  92.  </input>
  93.  </td>
  94.  </tr>
  95.  
  96.  </table>
  97.  </br>
  98.  <table bgcolor=\"#33390b\" cellspacing=\"1\" cellpadding=\"1\" align=\"center\" valign=\"middle\">
  99. <tr>
  100. <td height=\"30\" width=\"500\" bgcolor=\"#9a9f75\" align=\"center\">
  101.  <font size=\"\" color=\"\">Opis towaru</font>
  102.  </td>
  103.  
  104.  <td height=\"30\" width=\"400\" bgcolor=\"#9a9f75\" align=\"center\">
  105.  <font size=\"\" color=\"\">Ilustracja</font>
  106.  </td>
  107.  </tr>
  108.  <tr>
  109.  <td height=\"160\" width=\"500\" bgcolor=\"#9a9f75\" align=\"center\">
  110.  <textarea name=\"product_char\" cols=\"60\" rows=\"7\" value=\"<?php echo $product_char; ?>\">
  111.  </textarea>
  112.  </td>
  113.  
  114.  <td height=\"160\" width=\"400\" bgcolor=\"#9a9f75\" align=\"center\">
  115.  <input type=\"file\" name=\"product_picture\" value=\"<?php echo $product_char; ?>\">
  116.  </input></br>
  117.  <font size=\"2\">
  118.  Obrazek nie powinien być większy niż 300x300px, oraz jego objętość nie pow
  119. nna przekraczać 125Kb
  120.  </font>
  121.  </td>
  122.  </tr>
  123.  </table>
  124.  </br>
  125.  <table bgcolor=\"#33390b\" cellspacing=\"1\" cellpadding=\"1\" align=\"center\" valign=\"middle\">
  126.  <tr>
  127.  <td height=\"30\" width=\"450\" bgcolor=\"#9a9f75\" align=\"center\">
  128.  <input type=\"submit\" value=\"Prześlij dalej aby zatwierdzić !\">
  129.  </td>
  130.  
  131.  <td height=\"30\" width=\"450\" bgcolor=\"#9a9f75\" align=\"center\">
  132.  <input type=\"reset\" value=\"Oczyść wszystkie pola !\">
  133.  </td>
  134. </tr>
  135. </table>
  136. </td>
  137. </tr>
  138. </table>
  139. <?
  140. mysql_query (&#092;"INSERT INTO `ksiegarnia` (`product_name`, 
  141.  `product_number`, 
  142.  `product_price`, 
  143.  `product_isbn`, 
  144.  `product_ean`, 
  145.  `product_manufacture`, 
  146.  `product_char`, 
  147.  `product_picture`) VALUES 
  148. ('$product_name',
  149.  '$product_number', 
  150.  '$product_price', 
  151.  '$product_isbn', 
  152.  '$product_ean', 
  153.  '$product_manufacture', 
  154.  '$product_char', 
  155.  '$product_picture')&#092;");
  156.  
  157.  
  158.  ?> 
  159. <font size=\"2\">Site Created by Karol Lipnicki @ 2005</font>
  160. </form>
  161. </body>
  162. </html>


Ale mam jeszcze pytanie - chcę również dodawać grafiki, a dla nich ma być ograniczenie wielkości. Jak więc mogę zmusić php, aby nie wysyłał grafik większysz niż 125kB i o rozmiarach większych niż 100x100px ? (to oczywiście przykładowe wartości) a w razie naruszenia tego obostrzenia wyświetlał komunikat ?
yavaho
Cytat
Jak więc mogę zmusić php, aby nie wysyłał grafik większysz niż 125kB i o rozmiarach większych niż 100x100px ?

Jezeli obrazek zostaje uploadowany na serwer za pomoca formularza to tworza sie takie zmienne:
$thefiles_type
$thefiles_size
Dzieki temu możesz sprawdzic parametry pliku.
A rozdzielczosc i typ obrazka graficznego sprawdzisz za pomoca: getimagesize()" title="Zobacz w manualu PHP" target="_manual
czachor
Cytat(yavaho @ 2005-03-16 14:01:49)
$thefiles_type
$thefiles_size

yyy... $_FILES?
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.