Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Wysyłanie danych do bazy
--ahilles107--
post 11.09.2007, 19:34:06
Post #1





Goście







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
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 6)
qqrq
post 11.09.2007, 20:09:13
Post #2





Grupa: Zarejestrowani
Postów: 418
Pomógł: 8
Dołączył: 16.11.2006

Ostrzeżenie: (0%)
-----


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. ?>


--------------------
Go to the top of the page
+Quote Post
ahilles107
post 11.09.2007, 20:33:15
Post #3





Grupa: Zarejestrowani
Postów: 35
Pomógł: 0
Dołączył: 8.09.2007
Skąd: Lubelskie

Ostrzeżenie: (0%)
-----


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,
Go to the top of the page
+Quote Post
erix
post 12.09.2007, 08:23:32
Post #4





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




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ą?


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
templar
post 12.09.2007, 09:27:00
Post #5





Grupa: Zarejestrowani
Postów: 26
Pomógł: 0
Dołączył: 13.09.2006
Skąd: Poland

Ostrzeżenie: (0%)
-----


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.
Go to the top of the page
+Quote Post
-TMC-
post 12.09.2007, 12:10:48
Post #6





Goście







  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. ?>
Go to the top of the page
+Quote Post
crunch
post 12.09.2007, 12:39:29
Post #7





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 20.03.2007
Skąd: ZG

Ostrzeżenie: (0%)
-----


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

Ten post edytował crunch 12.09.2007, 12:40:12
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 25.07.2025 - 09:53