Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][HTML] Dziwny błąd
Forum PHP.pl > Forum > Przedszkole
krzychu0808
Witam ma dziwny błąd robie formularz edycji danych i mam coś takiego ze jak się wejdzie to automatycznie sie zaznacza kobieta czy Mężczyzna i jak umieszczę ten kod w tabelce to działa a poza tabelką działa:
  1. <?php
  2. .....................................
  3.  
  4. //--------------------------- To poniżej nie działa nie mam zaznaczonego żadnego pola
  5. echo "<tr>";
  6. echo "<td border=\"1\" align=\"center\" width=\"30%\" nowrap>Płeć</td>";
  7. echo "<td  border=\"1\">";
  8. if($sex=="M") {
  9.  $check1 = "checked";
  10.  } elseif($sex=="K") {
  11.  $check2 = "checked";
  12. }
  13. echo "<input type=\"radio\" name=\"sex\" value=\"M\" $check1>Mężczyzna <input type=\"radio\" name=\"sex\" value=\"K\" $check2>Kobieta<br/>";
  14.  echo "</td></tr>";
  15.  
  16. echo '</div></table>';
  17.  
  18. //-------------------------- to poniżej działa
  19. echo '<B>Płeć</b><BR>';
  20. if($sex=="M") {
  21.  $check1 = "checked";
  22.  } elseif($sex=="K") {
  23.  $check2 = "checked";
  24. }
  25. echo "<input type=\"radio\" name=\"sex\" value=\"M\" $check1>Mężczyzna<br/><input type=\"radio\" name=\"sex\" value=\"K\" $check2>Kobieta<br/>";
  26. ?>
rafalp
spróbuj konstrukcją:

  1. <?php
  2. if($check1)
  3. echo "<input type=\"radio\" name=\"sex\" value=\"M\" CHECKED>Mężczyzna<br/>
  4. else
  5. echo "<input type=&#092;"radio\" name=\"sex\" value=\"M\">Mężczyzna<br/>
  6.  
  7. if($check2)
  8. <input type=&#092;"radio\" name=\"sex\" value=\"K\" CHECKED>Kobieta<br/>";
  9. else
  10. <input type=&#092;"radio\" name=\"sex\" value=\"K\">Kobieta<br/>";
  11. ?>


a wcześniej
daj tylko
  1. <?php
  2. if($sex=="M") {
  3.  $check1 = true;
  4.  } elseif($sex=="K") {
  5.  $check2 = true;
  6. ?>
Zyx
Zapraszam do podglądu źródła - skrypt, choć ma parę błędów, w tym wypadku działa dobrze. To kod HTML jest zły i powoduje, że przeglądarka głupieje.

Zacznijmy od HTML-a. To, co zrobiłeś, nie jest żadną tabelką, tylko... no właśnie? Nie ma żadnego znacznika rozpoczynającego tabelkę, chociaż kończący, nie wiadomo skąd, się pojawia. Ponadto skąd ty tego DIV-a wziąłeś? Ten znacznik przecież nie może się znajdować wewnątrz TABLE.

Kod PHP. Po pierwsze, jak pobierasz dane z formularza, to stosuje się do tego superglobalną tablicę $_POST. Inaczej sam się prosisz o kłopoty na jakiejkolwiek innej wersji PHP innej niż muzealna. Same zmienne powinno się inicjować przed ich pierwszym użyciem. Uruchamiając Twój kod, dostałem:

Cytat
Płeć
Notice: Undefined variable: check2 in /home/lighttpd/vhosts/Sites/test/www/tabelka.php on line 13
[ ] Mężczyzna [ ] Kobieta
Płeć

Notice: Undefined variable: check2 in /home/lighttpd/vhosts/Sites/test/www/tabelka.php on line 25
[X] Mężczyzna
[ ] Kobieta


Spróbuj to poprawić samodzielnie - dałem Ci wszystkie wskazówki. Nie wiem, z czego się uczysz, ale naprawdę dziwne rzeczy piszą tam o tworzeniu tabelek w HTML-u, zaś informacje dot. PHP są wybitnie przestarzałe.

PS. Rafalp, jak już dajesz gotowy kod, to mógłbyś się postarać, by chociaż sprawiał on wrażenie poprawnego smile.gif.
rafalp
Cytat(Zyx @ 31.07.2008, 20:41:13 ) *
PS. Rafalp, jak już dajesz gotowy kod, to mógłbyś się postarać, by chociaż sprawiał on wrażenie poprawnego smile.gif.


Hehe, sorki spieszyłem się i próbowałem nakreslić mój tok myślenia żeby kolega sobie ładnie dopracował to sam ew spróbował inaczej to napisać.
krzychu0808
Już działa poprawiłem:
  1. <?php
  2. echo '<form method="post" action="edytuj.php">';
  3.  
  4.  echo '<div align="center"><table width="600px" border="1">';
  5.  echo " <tr> 
  6. <td border=\"1\" align=\"center\" width=\"40%\" nowrap>Nazwa Użytkownika</td> 
  7. <td  border=\"1\">$userid</td> 
  8. </tr>";
  9. echo " <tr> 
  10. <td border=\"1\" align=\"center\" width=\"30%\" nowrap>E-mail</td> 
  11. <td  border=\"1\"><input type=\"text\" name=useremail value=\"$useremail\"></td> 
  12. </tr>";
  13. echo " <tr> 
  14. <td border=\"1\" align=\"center\" width=\"30%\" nowrap>Imię i Nazwisko</td> 
  15. <td  border=\"1\"><input type=\"text\" name=\"username\" value=\"$username\"></td> 
  16. </tr>";
  17. echo "<tr>";
  18. echo "<td border=\"1\" align=\"center\" width=\"30%\" nowrap>Data Urodzenia</td>";
  19. echo "<td  border=\"1\">";
  20. $data1 = explode('-',$dataur);
  21. $rok1 = $data1[0];
  22. $miesiac1 = $data1[1];
  23. $dzien1 = $data1[2];
  24.  echo "<select name=\"dzien\" value=\"$dzien1\" onKeyUp=\"CheckDigits(this)\">";
  25. for ($i=01; $i<=31; $i++) {
  26. $sel = '';
  27. if ($dzien1 == $i) {$sel=' selected ';}
  28. if($i < 10) { echo '<option value="0'.$i.'" '.$sel.' >0'.$i.'</option>'; }
  29. else { echo '<option value="'.$i.'" '.$sel.' >'.$i.'</option>'; }
  30. }
  31. echo '</select>';
  32.  
  33. $miesiace = array(
  34. '01' => 'Styczeń',
  35. '02' => 'Luty',
  36. '03' => 'Marzec',
  37. '04' => 'Kwiecień',
  38. '05' => 'Maj',
  39. '06' => 'Czerwiec',
  40. '07' => 'Lipiec',
  41. '08' => 'Sierpień',
  42. '09' => 'Wrzesień',
  43. '10' => 'Pazdziernik',
  44. '11' => 'Listopad',
  45. '12' => 'Grudzień' 
  46. );
  47.  
  48. echo '
  49. -
  50. <select name="miesiac" onKeyUp="CheckDigits(this)">';
  51. foreach($miesiace as $nr => $miesiac){
  52. if($miesiac1 == $nr)
  53. echo('<option value="'.$nr.'" selected="selected">'.$miesiac.'</option>');
  54. else
  55. echo('<option value="'.$nr.'">'.$miesiac.'</option>');
  56. }
  57. echo '</select>
  58. - ';
  59.  
  60. echo "<select name=\"rok\" value=\"$rok1\" onKeyUp=\"CheckDigits(this)\">";
  61. for ($i=2008; $i>=1950; $i--) {
  62. $sel = '';
  63. if ($rok1 == $i) {$sel=' selected ';}
  64. echo '<option value="'.$i.'" '.$sel.' >'.$i.'</option>';
  65. }
  66. echo '</select>';
  67.  echo "</td></tr>";
  68.  
  69.  echo "<tr>";
  70. echo "<td border=\"1\" align=\"center\" width=\"30%\" nowrap>Płeć</td>";
  71. echo "<td  border=\"1\">";
  72. if($sex=="M") {
  73.  $check1 = true;
  74.  } elseif($sex=="K") {
  75.  $check2 = true;}
  76.  
  77.  if($check1)
  78. echo "<input type=\"radio\" name=\"sex\" value=\"M\" CHECKED>Mężczyzna ";
  79. else
  80. echo "<input type=\"radio\" name=\"sex\" value=\"M\">Mężczyzna ";
  81.  
  82. if($check2)
  83. echo "<input type=\"radio\" name=\"sex\" value=\"K\" CHECKED>Kobieta ";
  84. else
  85. echo "<input type=\"radio\" name=\"sex\" value=\"K\">Kobieta ";
  86.  echo "</td></tr>";
  87.  echo " <tr> 
  88. <td border=\"1\" align=\"center\" width=\"40%\" nowrap>Miasto</td> 
  89. <td  border=\"1\"><input type=\"text\" name=useradres value=\"$useradres\"></td> 
  90. </tr>";
  91.  echo " <tr> 
  92. <td border=\"1\" align=\"center\" width=\"40%\" nowrap>Kraj</td> 
  93. <td  border=\"1\"><input type=\"text\" name=usercountry value=\"$usercountry\"></td> 
  94. </tr>";
  95.  echo " <tr> 
  96. <td border=\"1\" align=\"center\" width=\"40%\" nowrap>Pseudonim szkolny</td> 
  97. <td  border=\"1\"><input type=\"text\" name=pseudonim value=\"$pseudonim\"></td> 
  98. </tr>"; 
  99.  echo " <tr>
  100.  <td border=\"1\" align=\"center\" width=\"40%\" nowrap>O Sobie</td>
  101.  <td  border=\"1\">";
  102.  echo "<textarea rows=\"5\" cols=\"41\" name=\"opis\" maxlength=\"200\">$opis</textarea><br/>
  103.  </td></tr>";
  104.  echo " <tr>
  105.  <td border=\"1\" align=\"center\" width=\"40%\" nowrap>Zainteresowania</td>
  106.  <td  border=\"1\">";
  107.  echo "<textarea rows=\"3\" cols=\"41\" name=\"zainteresowania\" maxlength=\"200\">$zainteresowania</textarea><br/>
  108.  </td></tr>";
  109.  
  110. echo " <tr> 
  111. <td border=\"1\" align=\"center\" width=\"40%\" nowrap>Numer Gadu-Gadu</td> 
  112. <td  border=\"1\"><input type=\"text\" name=\"usergg\" maxlength=\"10\" size=\"7\" value=\"$usergg\"></td> 
  113. </tr>";
  114.  
  115. echo '</table>';
  116. echo '<br/><input type="submit" value="Zapisz Zmiany">';
  117. echo '<input type="hidden" name="form_wyslany" value="1">';
  118. echo '</form>';
  119. echo '</div>';
  120. ?>
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.