Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php] checbox i zapis do mysql
trucksweb
post
Post #1





Grupa: Zarejestrowani
Postów: 1 199
Pomógł: 31
Dołączył: 22.03.2004
Skąd: Warszawa

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


mam prosty formularz i proste pytanie blinksmiley.gif
jak poprawnie obslugiwac checkboxa ? tzn. jak podczas edycji uzytkownika pobierac wartosc do checkboxa (0,1-checked)
a potem jak poprawnie dokonac updatu do bazy ?

  1. <?php
  2. (.....)
  3.  
  4. if($n && $l && $e) {
  5. $zapytanie = "UPDATE administratorzy SET nazwa='$n', login='$l', email='$e' , zablokowany='$zablokowany' WHERE id=$id";
  6. $wynik = @mysql_query($zapytanie);
  7. //jesli zapytanie jest poprawne
  8. } 
  9.  
  10.  
  11. }//koniec wyslany
  12.  
  13. //pobranie informacji o uzytkowniku
  14. $zapytanie = "SELECT id,nazwa, login, uprawnienia, zablokowany, email FROM administratorz
    y WHERE id=$id"
    ;
  15. $wynik = @mysql_query($zapytanie);
  16.  
  17. //jesli uzytkownik o podanym id istnieje to wyswietl jego dane
  18. if(@mysql_num_rows($wynik) == 1) {
  19. //pobiera informacje
  20. $row = mysql_fetch_array($wynik, MYSQL_NUM);
  21.  
  22. echo '
  23. <form action="?akcja=edytuj_uzytkownika&id='. $id .'" method="post">
  24. <table>
  25. <tr><td>Imię i Nazwisko</td><td><input type="text" name="nazwa" size="20" maxlength="40" value="'. $row[1] .'" /><tr>
  26. <tr><td>Login</td><td><input type="text" name="login" size="20" maxlength="40" value="'. $row[2] .'" /><tr>
  27. <tr><td>Uprawnienia</td><td><input type="radio" name="uprawnienia" value="3"> Główny Administrator <br />
  28. <input type="radio" name="uprawnienia" value="2"> Administrator <br />
  29. <input type="radio" name="uprawnienia" value="1"> Użytkownik <tr>
  30. <tr><td>Zablokowany</td><td><input type="checkbox" name="zablokowany" ';?><?php if($row[4] == 0) else { echo ' checked="checked"'; echo' /><tr>
  31. <tr><td>Email</td><td><input type="text" name="email" size="20" maxlength="40" value="'. $row[5] ." /><tr>
  32. <tr><td colspan="2" align="right">
  33. <a href="?akcja=uzytkownicy" class="button">Anuluj</a>
  34. <input type="submit" name="submit" value="Edytuj" class="button_input"/>
  35. <input type="hidden" name="wyslany" value="TRUE">
  36.  
  37.  
  38. ?>


Ten post edytował trucksweb 23.10.2007, 18:13:00


--------------------
Rozmawia dwóch dyrektorów:
- Jaki jest twój ideał sekretarki?
- 20-letnia dziewczyna z 30-letnim doświadczeniem.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
tsharek
post
Post #2





Grupa: Zarejestrowani
Postów: 300
Pomógł: 1
Dołączył: 22.09.2003
Skąd: Czeladź

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


łapotologicznie update może wyglądać tak:
  1. <?php
  2. $zapytanie = "UPDATE administratorzy SET nazwa='$n', login='$l', email='$e' , zablokowany='".(isset($zablokowany)?1:0)."' WHERE id=$id";
  3. ?>

Dzieje się tak że jeżeli nie ma zaznaczonego checkboxu nie jest wogle wysyłana dana zmienna, a jak jest zaznaczony to jest albo wysyłana wartość z value albo 'On' w przypadku braku zdefiniowania tej wartości.

Ps: Używaj funkcji escapowania (SQL INJECTION) oraz register_globals na off (chyba że masz to w górnej części kodu)


--------------------
Go to the top of the page
+Quote Post
trucksweb
post
Post #3





Grupa: Zarejestrowani
Postów: 1 199
Pomógł: 31
Dołączył: 22.03.2004
Skąd: Warszawa

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


dzieki, wszystko pieknie dziala, ale jeszcze jest drugi problem tym razem z radio buttonem:
-uzytkownik moze miec uprawnienia gl. admina, admin, i usera

  1. <?php
  2.  
  3. if(($_POST['$uprawnienia']) == 3) {
  4. $uprawnienia = '3';
  5. } elseif(($_POST['$uprawnienia']) == 2) {
  6. $uprawnienia = '2';
  7. } else {
  8. $uprawnienia = '1';
  9. }
  10.  
  11. //sprawdzenie 
  12. //jesli wszystko jest ok to wykonujemy edycje
  13. if($n && $l && $e) {
  14. $zapytanie = "UPDATE administratorzy SET nazwa='$n', login='$l', email='$e' , uprawnienia='$uprawnienia', zablokowany='".(isset($zablokowany)?1:0)."' WHERE id=$id";
  15. $wynik = @mysql_query($zapytanie);
  16. //jesli zapytanie jest poprawne
  17. } 
  18.  
  19.  
  20. }//koniec wyslany
  21.  
  22. //pobranie informacji o uzytkowniku
  23. $zapytanie = "SELECT id,nazwa, login, uprawnienia, zablokowany, email FROM administratorz
    y WHERE id=$id"
    ;
  24. $wynik = @mysql_query($zapytanie);
  25.  
  26. //jesli uzytkownik o podanym id istnieje to wyswietl jego dane
  27. if(@mysql_num_rows($wynik) == 1) {
  28. //pobiera informacje
  29. $row = mysql_fetch_array($wynik, MYSQL_NUM);
  30.  
  31. echo '
  32. <form action="?akcja=edytuj_uzytkownika&id='. $id .'" method="post">
  33. <table>
  34. <tr><td>Imię i Nazwisko</td><td><input type="text" name="nazwa" size="20" maxlength="40" value="'. $row[1] .'" /><tr>
  35. <tr><td>Login</td><td><input type="text" name="login" size="20" maxlength="40" value="'. $row[2] .'" /><tr>
  36. <tr><td>Uprawnienia</td><td><input type="radio" name="uprawnienia" value="3" ';?><?php if($row[3] == 3) echo ' checked="checked"'; echo'> Główny Administrator <br />
  37. <input type="radio" name="uprawnienia" value="2" ';?><?php if($row[3] == 2) echo ' checked="checked"'; echo'> Administrator <br />
  38. <input type="radio" name="uprawnienia" value="1" ';?><?php if($row[3] == 1) echo ' checked="checked"'; echo'> Użytkownik <tr>
  39. <tr><td>Zablokowany</td><td><input type="checkbox" name="zablokowany" size="20" maxlength="40" ';?><?php if($row[4] == 1) echo ' checked="checked"'; echo' /><tr>
  40. <tr><td>Email</td><td><input type="text" name="email" size="20" maxlength="40" value="'. $row[5] ." /><tr>
  41. <tr><td colspan="2" align="right">
  42. <a href="?akcja=uzytkownicy" class="button">Anuluj</a>
  43. <input type="submit" name="submit" value="Edytuj" class="button_input"/>
  44. <input type="hidden" name="wyslany" value="TRUE">
  45. ?>


jak dokonac zapisu do bazy, ktorego radio buttona kliknieto ?
probowale kilkoma sposobami ale cos marnie...


--------------------
Rozmawia dwóch dyrektorów:
- Jaki jest twój ideał sekretarki?
- 20-letnia dziewczyna z 30-letnim doświadczeniem.
Go to the top of the page
+Quote Post
uli
post
Post #4





Grupa: Zarejestrowani
Postów: 318
Pomógł: 6
Dołączył: 27.01.2005

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


  1. <?php
  2. if(($_POST['$uprawnienia']) == 3) {
  3. ?>
- ŹLE
  1. <?php
  2. if(($_POST['uprawnienia']) == 3) {
  3. ?>
- DOBRZE

  1. <?php
  2. } elseif(($_POST['$uprawnienia']) == 2) {
  3. ?>
- ŹLE
  1. <?php
  2. } elseif(($_POST['uprawnienia']) == 2) {
  3. ?>
- DOBRZE


--------------------
Prawo Wylera:
Nie ma rzeczy niemożliwych dla kogoś, kto nie musi ich zrobić sam.
Go to the top of the page
+Quote Post
trucksweb
post
Post #5





Grupa: Zarejestrowani
Postów: 1 199
Pomógł: 31
Dołączył: 22.03.2004
Skąd: Warszawa

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


hmm,nie wiem czy tak moze byc- sprawdze w domu.
dzieki za odpowiedz


--------------------
Rozmawia dwóch dyrektorów:
- Jaki jest twój ideał sekretarki?
- 20-letnia dziewczyna z 30-letnim doświadczeniem.
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 Aktualny czas: 22.08.2025 - 04:42