Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]radio - Zapis i pobieranie danych z formularzy
Forum PHP.pl > Forum > Przedszkole
neoTz^
Witam,
szukałem informacji na ten temat, ale nic konkretnego nie znalazłem dlatego proszę was o pomoc.

Chodzi o formularz <form></form> który zawiera między innymi <input type="radio" z którym to niestety mam problem.

W formularzu są 4 opcje radio:

  1. <input type="radio" name="ilosc_graczy" value="1" />
  2. <input type="radio" name="ilosc_graczy" value="2" />
  3. <input type="radio" name="ilosc_graczy" value="3" />
  4. <input type="radio" name="ilosc_graczy" value="4" />


i nie wiem jakiego typu musi być kolumna w tabeli bazy MySQL, aby dane te prawidłowo zostały zapisane ?
nospor
TINYINT
neoTz^
I tu pojawia się problem bo tak właśnie mam i niestety nie zapisuje mi wybranej wartości (radio) do bazy mimo, iż wszystkie inne elementy są zapisywane.

Screen:


Może trzeba jeszcze coś ustawić w pozostałych pozycjach ? (i czy prawidłowo mam to zapisane w formularzu? - kod w poprzednim poście)
nospor
rety.... no mysl troche chlopie.... pokaz kod w jaki zapisujesz cokolwiek do bazy. SKoro ci nie dziala to znaczy ze tam jest problem. Pokaz cały kod.
nospor
Po co pokazujesz nam plugin smartiego??
Ja się pytam o kod, w którym zapisujesz dane do bazy... to ci przecież nie dziala - zapisanie do bazy, no nie?
neoTz^
Przpraszam nospor, ale tak to jest jak za bardzo się tego nie rozumie wink.gif

To będzie to ?
  1. <?php
  2.  
  3. class Download {
  4.  
  5. /**
  6. * Funkcja konstrukcyjna - wykonywana przy tworzeniu klasy
  7. * @param $path
  8. * @return true
  9. */
  10. function __construct($path='./'){
  11. global $db, $_SERVER, $_SESSION;
  12.  
  13. if($_SERVER["REQUEST_URI"] == $_SERVER["PHP_SELF"]) {
  14. /** $_SESSION['bugger'] = 1; **/
  15. die();
  16. }
  17.  
  18.  
  19. require($path.'config.php');
  20. require($path.'smarty/Smarty.class.php');
  21. $this->tpl = new Smarty();
  22.  
  23. if($_SESSION['bugger'] == 1) {
  24. $this->exception('Zablokowany za próbe hackowania skryptu :)');
  25. }
  26.  
  27. require($path.'mysql.class.php');
  28.  
  29. $this->tpl->assign('url',$db['url']);
  30. $this->tpl->assign('files',$db['files']);
  31. $this->tpl->assign('images',$db['images']);
  32.  
  33. if($_SESSION['zalogowany'] == 'true') {
  34. $this->tpl->assign('admin',1);
  35. $this->tpl->assign('login',$_SESSION['login']);
  36. }
  37.  
  38. $this->url = $db['url'];
  39. $this->files = $db['files'];
  40. $this->images = $db['images'];
  41. $this->osoby = $db['osoby'];
  42. $this->perpage = $db['perpage'];
  43. $this->types = $db['types'];
  44. $this->sizes = $db['sizes'];
  45.  
  46. $this->debug = $db['debug'];
  47.  
  48. if($this->debug == 1 ) { ini_set('display_errors','on'); } else { ini_set('display_errors','off'); }
  49.  
  50. /**
  51. * Ponizszy kod obsluguje wyjatek wystapienia bledu w
  52. * polaczeniu z baza danych wyswietlajac przyjemny komunikat
  53. * pochodzacy z funkcji exception tej klasy
  54. */
  55.  
  56. try {
  57.  
  58. $this->mysql = new MySQL();
  59.  
  60. } catch (Exception $e) {
  61. $this->exception('',$e);
  62. }
  63.  
  64. unset($db);
  65. return true;
  66. }
  67.  
  68. /**
  69. * Funkcja wykonywania zapytan z obsluga bledow
  70. * @param $query
  71. * @return unknown_type
  72. */
  73. function query($query) {
  74. try {
  75. $x = $this->mysql->query($query);
  76. } catch (Exception $e) {
  77. $this->exception('',$e);
  78. }
  79.  
  80. return $x;
  81. }
  82.  
  83. /**
  84. * Wywolanie tej funkcji niepozwoli niezalogowanemu na dostep
  85. * @return unknown_type
  86. */
  87. function TylkoZalogowany() {
  88. global $_SESSION;
  89.  
  90. if($_SESSION['status'] == '1') {
  91. return true;
  92. } else {
  93. Header('Location: index.php');
  94. die;
  95. }
  96. }
  97.  
  98. /**
  99. * Dodaje slashe do podanej zmiennej typu Array
  100. */
  101. function DodajSlashe($zmienna) {
  102. foreach($zmienna as $klucz=>$wartosc) {
  103. $zmienna[$klucz] = addslashes($wartosc);
  104. }
  105. return $zmienna;
  106. }
  107.  
  108.  
  109. /**
  110. * Klasa obslugujaca wyjaki. Wyswietla podana wiadomosc debugujaca
  111. * W przyjaznym dla oka wygladzie
  112. * @param $message
  113. */
  114. function exception($message='',$e='') {
  115. if(!empty($e)) {
  116. $eg = $e->getTrace();
  117. $message = $e->getMessage()." -> <u>({$eg[1]['file']} linia {$eg[1]['line']})</u>";
  118. }
  119.  
  120. $this->tpl->assign('debug',$this->debug);
  121. $this->tpl->assign('message',$message);
  122. $this->tpl->display('exception.tpl');
  123. die;
  124. }
  125.  
  126. ####### STREFA TYPOWYCH FUNKCJI DOWNLOADU ######
  127.  
  128. /**
  129. * Listowanie kategorii downloadu
  130. * @return array
  131. */
  132. function ListaKategorii() {
  133. $x = $this->query("SELECT * FROM `PREFIX_category`");
  134. while($y=mysql_fetch_array($x,MYSQL_ASSOC)) {
  135. $z[] = $y;
  136. }
  137. return $z;
  138. }
  139.  
  140. /**
  141. * Listowanie plikow kategorii
  142. * @param $kategoria
  143. * @return unknown_type
  144. */
  145. function ListaPlikow($kategoria,$filtr,$limit1=1,$limit2=15) {
  146.  
  147. if(!is_numeric($kategoria)) {
  148. $warunek = "`nazwa` LIKE '%{$kategoria}%'";
  149. } else {
  150. $warunek = "`kategoria` = '{$kategoria}'";
  151. }
  152.  
  153. $x = $this->query("SELECT * FROM `PREFIX_files` WHERE {$warunek} {$filtr} LIMIT {$limit1},{$limit2}");
  154. while($y=mysql_fetch_array($x,MYSQL_ASSOC)) {
  155. $z[] = $y;
  156. }
  157. return $z;
  158. }
  159.  
  160. /**
  161. * Liczba plikow w kategorii
  162. * @param $kategoria
  163. * @return unknown_type
  164. */
  165. function LiczbaPlikow($kategoria,$filtr) {
  166.  
  167. if(!is_numeric($kategoria)) {
  168. $warunek = "`nazwa` LIKE '%{$kategoria}%'";
  169. } else {
  170. $warunek = "`kategoria` = '{$kategoria}'";
  171. }
  172.  
  173. $x = $this->query("SELECT `ID` FROM `PREFIX_files` WHERE {$warunek} {$filtr}");
  174. return mysql_num_rows($x);
  175. }
  176.  
  177. /**
  178. * Listowanie plikow
  179. * @param $id
  180. * @return unknown_type
  181. */
  182. function Plik($id,$nolicznik=0) {
  183. $x = $this->query("SELECT `file` FROM `PREFIX_files` WHERE `ID` = '{$id}'");
  184.  
  185. if($nolicznik == 0) {
  186. $this->query("UPDATE `PREFIX_files` SET `licznikpobran` = `licznikpobran`+1 WHERE `ID` = '{$id}'");
  187. }
  188.  
  189. return $y['file'];
  190. }
  191.  
  192. /**
  193. * Listowanie pliku pod edycje
  194. * @param $id
  195. * @return unknown_type
  196. */
  197. function PlikEdit($id) {
  198.  
  199. $x = $this->query("SELECT * FROM `PREFIX_files` WHERE `ID` = '{$id}'");
  200. while($y=mysql_fetch_array($x,MYSQL_ASSOC)) {
  201. $z = $y;
  202. }
  203. return $z;
  204.  
  205. }
  206.  
  207. /**
  208. * Sprawdza czy delikwent jest zalogowany
  209. * @return unknown_type
  210. */
  211. function CzyZalogowany() {
  212. global $_SESSION;
  213.  
  214. if($_SESSION['zalogowany'] == 'true') {
  215. return true;
  216. } else {
  217. return false;
  218. }
  219. }
  220.  
  221. function PoprawneDane($login,$haslo) {
  222. global $osoby;
  223. if($this->osoby[$login] == $haslo) {
  224. return true;
  225. } else {
  226. return false;
  227. }
  228. }
  229.  
  230. function ZapiszPlik($dane) {
  231. // dane - $_POST
  232.  
  233. $dane = $this->DodajSlashe($dane);
  234.  
  235. $zapyt = "INSERT INTO `PREFIX_files` SET ";
  236.  
  237. foreach ($dane as $klucz=>$wartosc) {
  238. if($wartosc == '') { return false; }
  239. $zapyt .= ";;`{$klucz}` = '{$wartosc}';;";
  240. }
  241.  
  242. $zapyt = str_replace(';;;;',',',$zapyt);
  243. $zapyt = str_replace(';;','',$zapyt);
  244.  
  245. #### TYPY PLIKOW DLA STRONY GLOWNEJ ####
  246. $x = unserialize(@file_get_contents('templates/typy.txt'));
  247. $typ = str_replace(' ','_',$dane['typ']);
  248. $typ = str_replace('\'','',$typ);
  249. $typ = str_replace('ź','z',$typ);
  250. $typ = str_replace('-','_',$typ);
  251.  
  252. if(isset($x[$typ])) {
  253. $x[$typ]++;
  254. } else {
  255. $x[$typ] = 1;
  256. }
  257.  
  258. file_put_contents('templates/typy.txt',serialize($x));
  259. #### EOF TYPY PLIKOW DLA STRONY GLOWNEJ ####
  260.  
  261. #### STATYSTYKI REDAKTOROW ####
  262. $dodal = $dane['dodal'];
  263. $y = unserialize(@file_get_contents('templates/stats.txt'));
  264. if(isset($y[$dodal])) {
  265. $y[$dodal]++;
  266. } else {
  267. $y[$dodal] = 1;
  268. }
  269. file_put_contents('templates/stats.txt',serialize($y));
  270. #### EOF STATYSTYKI REDAKTOROW ####
  271.  
  272. return $this->query($zapyt);
  273.  
  274. }
  275.  
  276. function EdytujPlik($dane,$id) {
  277. // dane - $_POST
  278.  
  279. $dane = $this->DodajSlashe($dane);
  280.  
  281. $zapyt = "UPDATE `PREFIX_files` SET ";
  282.  
  283. foreach ($dane as $klucz=>$wartosc) {
  284. if($wartosc == '') { return false; }
  285. $zapyt .= ";;`{$klucz}` = '{$wartosc}';;";
  286. }
  287.  
  288. $zapyt = str_replace(';;;;',',',$zapyt);
  289. $zapyt = str_replace(';;','',$zapyt);
  290.  
  291. $zapyt .= "WHERE `ID` = '{$id}'";
  292.  
  293. return $this->query($zapyt);
  294.  
  295. }
  296.  
  297. function LicznikMap() {
  298. return unserialize(@file_get_contents('templates/typy.txt'));
  299. }
  300.  
  301. ####### EOF STREFA TYPOWYCH FUNKCJI DOWNLOADU ######
  302. }
  303.  
  304. ?>
nospor
Odnoszę nieodparte wrażenie, że dostałeś za zadanie poprawić kod, który widzisz od 5 minut, przy czym twoja wiedza odnośnie php jest na poziomie 0 lub bardzo do tego 0 zbliżonego. W takim wypadku ja już podziękuję. Może znajdzie się ktoś inny będący na siłach przechodzić przez to wszystko smile.gif
neoTz^
Ok, wyjaśnię Ci co i jak wink.gif
Mam skrypt napisany przez znajomego (którego obecnie nie ma w kraju). Jest to formularz w który zawiera zwykłe pola tekstowe, rozwijane listy wyboru oraz pole textarea.

I chciałbym zmienić w nim jedno z pól tekstowych, które wygląda tak:
  1. <input size="6" name="ilosc_graczy">

i w którym to wpisywało się cyfrę na cztery opcje typu radio czyli na coś takiego:
  1. <input type="radio" name="ilosc_graczy" value="1" />
  2. <input type="radio" name="ilosc_graczy" value="2" />
  3. <input type="radio" name="ilosc_graczy" value="3" />
  4. <input type="radio" name="ilosc_graczy" value="4" />

I tak zrobiłem ale niestety nie zapisuje mi tego do bazy...

Da się to jakoś łatwo zmienić aby działało ?
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.