Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Wysyłanie danych do bazy
Forum PHP.pl > Forum > Przedszkole
-ahilles107-
Witam winksmiley.jpg
jka moge sprawić aby po zaznaczeniu checkboxa w formularzu wysyłal on wartośc 1 do rekordu $ok questionmark.gif

mam tyle (wiecej w komentarzach winksmiley.jpg)
  1. <html>
  2. <head>
  3. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2" />
  4. <title>Untitled Document</title>
  5. <style type="text/css">
  6. <!--
  7. body {
  8. background-color: #FFFFCC;
  9. }
  10. -->
  11. </style></head>
  12. <body>
  13. <table width="400" border="0" align="center" cellpadding="0" cellspacing="0">
  14. <tr>
  15. <td><? //Skrypt dodawania aktualnośći (newsów) przez użytkowników
  16.  
  17. $tytul = addslashes(htmlspecialchars ($_POST['tytul']));
  18. $tesc_krotka = addslashes(htmlspecialchars ($_POST['tresc_krotka']));
  19. $osoba = addslashes(htmlspecialchars ($_POST['osoba']));
  20. $tresc = addslashes(nl2br (htmlspecialchars ($_POST['tresc'])));
  21. $ok = addslashes(nl2br (htmlspecialchars ($_POST['ok']))); //tutaj nie wiem co wpisac ;/ to co wpisałem jest tylko po to <br>
  22. //zeby skrypt chodził
  23.  
  24. if ($tytul && $tresc_krotka && $osoba && $tresc && $ok)
  25. {
  26.  
  27.  mysql_connect ("bazy5.vel.pl", "wiesmisie_ksiazka", "ck8daj") or 
  28.  die ("Nie można połączyć się z MySQL");
  29.  mysql_select_db ("wiesmisie_ksiazka") or 
  30.  die ("Nie można połączyć się z bazą wiesmisie_ksiazka");
  31.  
  32. $query = "INSERT INTO news (tytul, tresc_krotka, tresc, osoba,".
  33.  " data) VALUES ('$tytul', '$tresc_krotka', '$tresc', '$osoba', ".
  34.  "now());";
  35.  $wynik = mysql_query ($query);
  36. print "<h3> Aktualność została zapisana</h3>";
  37. } else { //formularz
  38. print "<h3> Dodaj aktualność:</h3>";
  39. print "<FORM METHOD=POST><b>Tytuł Aktualności:</b><br>";
  40. print "<INPUT TYPE=\"text\" NAME=\"tytul\" VALUE=\"$tutul\" ";
  41. print "SIZE=60<BR><br><B>Nagłowek:</B><BR>";
  42. print "<TEXTAREA NAME=\"tresc_krotka\" ";  //pole nagłówka
  43. print "ROWS=5 COLS=45>$tresc_krotka</TEXTAREA><BR>";
  44. print "<B>Pełna treść:</B><BR><TEXTAREA NAME=\"tresc\" ";  //pole treści
  45. print "ROWS=10 COLS=45>$tresc</TEXTAREA><BR>";
  46. print "<b>Autor:</B><br><INPUT TYPE=\"text\" ";
  47. print "NAME=\"osoba\" VALUE=\"$osoba\" SIZE=60><BR>"; // pole autor
  48. print "<input name=\"ok\" type=\"checkbox\" value=\"$ok\" />"; // tutaj jest checkbox
  49. print "<b> Pokazać aktualność?</b>";
  50. print "<a ALIGN=RIGHT><br>";
  51. print "<INPUT TYPE=\"submit\" VALUE=\"wyślij\">";  // buuton wyślij
  52. print "</a>";
  53. print "</FORM>";
  54. }
  55. ?></td>
  56. </tr>
  57. </table>
  58. </body>
  59. </html>


po ukończeniu udostepnie cały system winksmiley.jpg
qqrq
Nie jestem pewien, czy o to Ci chodzi, ale może tak:

  1. <?php
  2. if (isset($_POST['check']))
  3. mysql_query('update tabela set pole = 1 where id = '.$ok);
  4. ?>
ahilles107
pewnie io tak też mozna ale chciałbym zrobić to w obrebie tego co już mam winksmiley.jpg

dopiero się ucze i z myql i formularzami sobie średnio radze winksmiley.jpg

te nsposób zapisania napewno bedzie zmieniał wartość a jak go zaimplementować do całej struktury formularza.
Chodzi mi o to żeby wysłac to wartośc podobnie jak wysyłam tekst np w tytule artykułu,
erix
Cytat
Kod
$ok = addslashes(nl2br (htmlspecialchars ($_POST['ok'])));      //tutaj nie wiem co wpisac;/ to co wpisałem jest tylko po to <br>
                                                                    //zeby skrypt chodził
    
    if ($tytul && $tresc_krotka && $osoba && $tresc && $ok)


Skoro sprawdzasz $ok w warunku, to po co jednocześnie maltretować przy tym bazę? Jest to widoczność artykułu, czy coś? Jeśli nie, to IMHO nie ma zupełnie sensu wciskania dodatkowego pola...

To moje 0.03PLN na podstawie tego, co napisałeś. Jeśli chodzi Ci o coś innego co do tego $ok, to napisz.

Cytat
te nsposób zapisania napewno bedzie zmieniał wartość a jak go zaimplementować do całej struktury formularza.

Ten, czyli jaki. Zmieniał wartość - jaką na jaką?
templar
Cytat(-ahilles107- @ 11.09.2007, 20:34:06 ) *
Witam ;)
jka moge sprawić aby po zaznaczeniu checkboxa w formularzu wysyłal on wartośc 1 do rekordu $ok questionmark.gif

mam tyle (wiecej w komentarzach ;))
  1. <html>
  2. <head>
  3. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2" />
  4. <title>Untitled Document</title>
  5. <style type="text/css">
  6. <!--
  7. body {
  8. background-color: #FFFFCC;
  9. }
  10. -->
  11. </style></head>
  12. <body>
  13. <table width="400" border="0" align="center" cellpadding="0" cellspacing="0">
  14. <tr>
  15. <td><? //Skrypt dodawania aktualnośći (newsów) przez użytkowników
  16.  
  17. $tytul = addslashes(htmlspecialchars ($_POST['tytul']));
  18. $tesc_krotka = addslashes(htmlspecialchars ($_POST['tresc_krotka']));
  19. $osoba = addslashes(htmlspecialchars ($_POST['osoba']));
  20. $tresc = addslashes(nl2br (htmlspecialchars ($_POST['tresc'])));
  21. $ok = addslashes(nl2br (htmlspecialchars ($_POST['ok']))); //tutaj nie wiem co wpisac ;/ to co wpisałem jest tylko po to <br>
  22. //zeby skrypt chodził
  23.  
  24. if ($tytul && $tresc_krotka && $osoba && $tresc && $ok)
  25. {
  26.  
  27.  mysql_connect ("bazy5.vel.pl", "wiesmisie_ksiazka", "ck8daj") or 
  28.  die ("Nie można połączyć się z MySQL");
  29.  mysql_select_db ("wiesmisie_ksiazka") or 
  30.  die ("Nie można połączyć się z bazą wiesmisie_ksiazka");
  31.  
  32. $query = "INSERT INTO news (tytul, tresc_krotka, tresc, osoba,".
  33.  " data) VALUES ('$tytul', '$tresc_krotka', '$tresc', '$osoba', ".
  34.  "now());";
  35.  $wynik = mysql_query ($query);
  36. print "<h3> Aktualność została zapisana</h3>";
  37. } else { //formularz
  38. print "<h3> Dodaj aktualność:</h3>";
  39. print "<FORM METHOD=POST><b>Tytuł Aktualności:</b><br>";
  40. print "<INPUT TYPE=\"text\" NAME=\"tytul\" VALUE=\"$tutul\" ";
  41. print "SIZE=60<BR><br><B>Nagłowek:</B><BR>";
  42. print "<TEXTAREA NAME=\"tresc_krotka\" ";  //pole nagłówka
  43. print "ROWS=5 COLS=45>$tresc_krotka</TEXTAREA><BR>";
  44. print "<B>Pełna treść:</B><BR><TEXTAREA NAME=\"tresc\" ";  //pole treści
  45. print "ROWS=10 COLS=45>$tresc</TEXTAREA><BR>";
  46. print "<b>Autor:</B><br><INPUT TYPE=\"text\" ";
  47. print "NAME=\"osoba\" VALUE=\"$osoba\" SIZE=60><BR>"; // pole autor
  48. print "<input name=\"ok\" type=\"checkbox\" value=\"$ok\" />"; // tutaj jest checkbox
  49. print "<b> Pokazać aktualność?</b>";
  50. print "<a ALIGN=RIGHT><br>";
  51. print "<INPUT TYPE=\"submit\" VALUE=\"wyślij\">";  // buuton wyślij
  52. print "</a>";
  53. print "</FORM>";
  54. }
  55. ?></td>
  56. </tr>
  57. </table>
  58. </body>
  59. </html>


po ukończeniu udostepnie cały system ;)



Lepszą formą używania checkboxa jest następująca konstrukcja

  1. <input type="checkbox" name="checkbox_name" />


Jeśli ma być domyślnie zaznaczony, to dodajemy parametr checked="checked".

Teraz jeśli chcesz sprawdzić, czy jest zaznaczony, to robisz w kodzie:

  1. <?php
  2. if(isset($_REQUEST['checkbox_name']))
  3. echo 'Zaznaczony.';
  4. else echo 'Niezaznaczony.';
  5. ?>


Polecam tę formę zamiast grzebanie z $_POSTami i parametrem "value" dla checkboxa.

Pozdrawiam.
TMC
  1. <?
  2. if ($tytul && $tresc_krotka && $osoba && $tresc && $ok)
  3. {//echo"ok=$ok<br>";
  4. if($ok=='TAK'){$ok=1;}
  5. if($ok=='NIE'){$ok=0;}
  6. //echo"ok=$ok";
  7.  mysql_connect ("bazy5.vel.pl", "wiesmisie_ksiazka", "ck8daj") or 
  8.  die ("Nie można połączyć się z MySQL");
  9.  mysql_select_db ("wiesmisie_ksiazka") or 
  10.  die ("Nie można połączyć się z bazą wiesmisie_ksiazka");
  11.  
  12. $query = "INSERT INTO news (tytul, tresc_krotka, tresc, osoba, ok,".
  13.  " data) VALUES ('$tytul', '$tresc_krotka', '$tresc', '$osoba', '$ok', ".
  14.  "now());";
  15.  $wynik = mysql_query ($query);
  16. print "<h3> Aktualność została zapisana</h3>";
  17. } else { //formularz
  18.  
  19. echo'<h3> Dodaj aktualność:</h3>
  20.  <FORM METHOD=POST>
  21.  <b>Tytuł Aktualności:</b><br>
  22. <INPUT TYPE=text NAME=tytul SIZE=60<BR><br>
  23. <B>Nagłowek:</B><BR>
  24. <TEXTAREA NAME=tresc_krotka ROWS=5 COLS=45></TEXTAREA><BR>
  25. <B>Pełna treść:</B><BR><TEXTAREA NAME=tresc ROWS=10 COLS=45></TEXTAREA><BR>
  26. <b>Autor:</B><br>
  27. <INPUT TYPE=text NAME=osoba SIZE=60><BR>
  28.  
  29. <b> Pokazać aktualność?</b>
  30. <a ALIGN=RIGHT><br>
  31.  <select name=ok>
  32.  <option>TAK
  33.  <option>NIE
  34.  </select><br><br>
  35.  <INPUT TYPE=submit VALUE=wyślij>
  36.  </a>
  37. </FORM>';
  38.  } 
  39. ?>
crunch
od razu poprawiłbym:
  1. <?php
  2. //echo"ok=$ok<br>";
  3. if($ok=='TAK'){$ok=1;}
  4. if($ok=='NIE'){$ok=0;} //na ELSE tongue.gif (różne wartości możesz dostać z formy;p )
  5. //echo"ok=$ok";
  6. ?>

oraz:
  1. <select name=ok>
  2. <option value="TAK">TAK</option>
  3. <option value="NIE">NIE</option>
  4. </select>
ktoras przegladarka nie przekazuje, jesli nie masz value ustawionego;p
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.