Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]problem z finalizacją edycji rekordu
Forum PHP.pl > Forum > Przedszkole
mattii
  1. if(isset($_POST['edycja'])){
  2.  
  3. echo '<table id="rounded-corner" >';
  4. echo '<tr>';
  5. echo '<td>';
  6. echo $wiersz['id_usera'];
  7. echo'</td>';
  8. echo '<td>';
  9. echo '<form method="post"><input type="text" name="login" size="6" VALUE="'.$wiersz['login'].'">';
  10. echo'</td>';
  11. echo '<td>';
  12. echo '<input type="text" name="haslo" size="6"VALUE="'.$wiersz['haslo'].'"> </form>';
  13. echo'</td>';
  14. echo '</table> ';
  15.  
  16. echo '<form method="post"><input name="edytowano" type="submit" value="edytuj"></form>';
  17.  
  18. // tutaj działa - wyswietla dane z tabeli w postaci formularza ktory mozna edytowac, ale to co jest poniżej - ma dokonać edycji na podstawie zmian jakie wprowadza sie w powyzszym formularzu, ale nie działą - nic nie wyswietla - zadnego bledu ani komunikatu z echa :/ - o co tu moze chodzić questionmark.gif
  19.  
  20. if (isset($_POST['edytowano']))
  21. {
  22. $zapytanie4="UPDATE users SET login= '".$_POST["login"]."', haslo='".$_POST["haslo"]."' WHERE id_usera='".$wiersz['id_usera']."'" ;
  23. $wynik4 = $bd_lacz->query($zapytanie4);
  24. if($wynik4) {
  25. echo "edytowano.";
  26. }
  27.  
  28. if (!$wynik4) {
  29. echo "nie edytowano ";
  30. }
  31.  
  32. }
lnn
skoro nie wyswietla to pewnie przerywa bo cos jest nie tak
i pokaz co ci wyszlo
nospor
zrobiles dwa formularze: jeden zawiera edytowane dane, a drugi zawiera przycisk. No to ma byc wszystko w jednym formularzu
mattii
Cytat(lnn @ 2.02.2010, 13:45:55 ) *
skoro nie wyswietla to pewnie przerywa bo cos jest nie tak
i pokaz co ci wyszlo



dalej nic nie wyswietlił sad.gif

nospor: poprawiłem, ale nic to nie zmieniło :/
TheSnake
Kod
echo '<input type="text" name="haslo" size="6"VALUE="'.$wiersz['haslo'].'"> </form>';

Zamień na
Kod
echo '<input type="text" name="haslo" size="6"VALUE="'.$wiersz['haslo'].'">';


Kod
echo '<form method="post"><input name="edytowano" type="submit" value="edytuj"></form>';

Zamień na
Kod
echo '<input name="edytowano" type="submit" value="edytuj"></form>';


Tak masz?
mattii
dokładnie tak.
nospor
Cytat
dokładnie tak.
pokaz caly kod po zmianach bo juz nie raz widzialem te "dokladnie tak" ktore wygladalo na "dokladnie nie" winksmiley.jpg
TheSnake
może masz w funkcjach z bazą (połączenie) @ i nie wyświetla Ci błędów? u mnie ten kod działa ;o
mattii
była @ ale jak ja usunalem to dalej bledu nie pokazal.

oto kod:

  1. <?php
  2.  
  3.  
  4.  
  5. // sprawdzenie zmiennej sesji
  6.  
  7. if(isset($_SESSION['prawid_uzyt']))
  8. {
  9.  
  10.  
  11.  
  12.  
  13.  
  14. require "pliki/php/db_connect.php";
  15. // wywoluje funkcje db_connect()
  16. db_connect();
  17.  
  18. $zapytanie = "SELECT * FROM users INNER JOIN osoba ON users.osoba_id_osoby = osoba.id_osoby ";
  19.  
  20. $wynik = $bd_lacz->query($zapytanie);
  21. $ile=$wynik->num_rows;
  22.  
  23. //$wynik=mysqli_query($bd_lacz, $zapytanie);
  24. //$ile=mysqli_num_rows($wynik);
  25.  
  26. if ($ile==0) {
  27. echo "Baza danych nie zawiera jeszcze kontaktów";
  28. } else {
  29.  
  30.  
  31.  
  32. ?>
  33.  
  34.  
  35. <table id="rounded-corner" >
  36. <thead>
  37. <tr>
  38. <th scope="col" class="rounded-login">Id</th>
  39. <th scope="col" class="rounded-q1">Login</th>
  40. <th scope="col" class="rounded-q1">Hasło</th>
  41. <th scope="col" class="rounded-q2">Imię</th>
  42. <th scope="col" class="rounded-q3">Nazwisko</th>
  43. <th scope="col" class="rounded-q4">Ulica</th>
  44. <th scope="col" class="rounded-q5">Nr Domu</th>
  45. <th scope="col" class="rounded-q6">Nr Mieszkania</th>
  46. <th scope="col" class="rounded-q7">Miasto</th>
  47. <th scope="col" class="rounded-q8">Kod Pocztowy</th>
  48. <th scope="col" class="rounded-q9">Nr Telefonu</th>
  49. <th scope="col" class="rounded-q9">E-Mail</th>
  50. <th scope="col" class="rounded-q9"></th>
  51. <th scope="col" class="rounded-q10"></th>
  52. </tr>
  53. </thead>
  54.  
  55. <tbody>
  56.  
  57. <?php
  58.  
  59. for ($i=0;$i<$ile;$i++) {
  60. $wiersz=$wynik->fetch_assoc();
  61.  
  62.  
  63.  
  64. echo '<tr>';
  65. echo '<td>';
  66. echo $wiersz['id_usera'];
  67. echo'</td>';
  68. echo '<td>';
  69. echo $wiersz['login'];
  70. echo'</td>';
  71. echo '<td>';
  72. echo $wiersz['haslo'];
  73. echo'</td>';
  74. echo '<td>';
  75. echo $wiersz['imie'];
  76. echo'</td>';
  77. echo '<td>';
  78. echo $wiersz['nazwisko'];
  79. echo'</td>';
  80. echo '<td>';
  81. echo $wiersz['ulica'];
  82. echo'</td>';
  83. echo '<td>';
  84. echo $wiersz['nr_domu'];
  85. echo'</td>';
  86. echo '<td>';
  87. echo $wiersz['nr_mieszkania'];
  88. echo'</td>';
  89. echo '<td>';
  90. echo $wiersz['miasto'];
  91. echo'</td>';
  92. echo '<td>';
  93. echo $wiersz['kod_pocztowy'];
  94. echo'</td>';
  95. echo '<td>';
  96. echo $wiersz['nr_telefonu'];
  97. echo'</td>';
  98. echo '<td>';
  99. echo $wiersz['e_mail'];
  100. echo'</td>';
  101. echo '<td>';
  102. echo '<form method="post"><input type="submit" name="edycja" value="Edycja" ></form>';
  103. echo'</td>';
  104. echo '<td>';
  105. echo '<form method="post"><input name="usun" type="submit" value="Usuń"></form>';
  106. echo'</td>';
  107.  
  108. echo'</tr></tbody>';
  109.  
  110.  
  111.  
  112.  
  113.  
  114. }
  115. echo '<tfoot>
  116. <tr>
  117. <td colspan="13" class="rounded-foot-left"><em>Tabela przedstawia pracowników posiadających dostęp do programu</em></td>
  118. <td class="rounded-foot-right">&nbsp;</td>
  119. </tr>
  120. </tfoot>
  121. </table>';
  122. }
  123.  
  124.  
  125. if(isset($_POST['edycja'])){
  126.  
  127. echo '<table id="rounded-corner" >';
  128. echo '<tr>';
  129. echo '<td>';
  130. echo $wiersz['id_usera'];
  131. echo'</td>';
  132. echo '<td>';
  133. echo '<form method="post"><input type="text" name="login" size="6" VALUE="'.$wiersz['login'].'">';
  134. echo'</td>';
  135. echo '<td>';
  136. echo '<input type="text" name="haslo" size="6"VALUE="'.$wiersz['haslo'].'"> ';
  137. echo'</td>';
  138. echo '</table> ';
  139.  
  140. echo '<input name="edytowano" type="submit" value="edytuj"></form>';
  141.  
  142. if (isset($_POST['edytowano']))
  143. {
  144. $zapytanie4="UPDATE users SET login= '".$_POST["login"]."', haslo='".$_POST["haslo"]."' WHERE id_usera='".$wiersz['id_usera']."'" ;
  145. $wynik4 = $bd_lacz->query($zapytanie4);
  146.  
  147.  
  148.  
  149. if($wynik4) {
  150. echo "edytowano.";
  151. }
  152.  
  153. if (!$wynik4) {
  154. echo "nie edytowano ";
  155. }
  156.  
  157. }
  158.  
  159.  
  160.  
  161.  
  162. }
  163.  
  164.  
  165.  
  166.  
  167.  
  168.  
  169. }
  170. else
  171. {
  172. echo '<p>Użytkownik niezalogowany.</p>';
  173. echo '<p>Tylko zalogowani użytkownicy mogą oglądać tę stronę.</p>';
  174. }
  175.  
  176.  
  177.  
  178. ?>
nospor
twoj kod nie jest zgodny ze strukturą. form zaczynasz w table a konczysz poza nią.
daj
<form method="post">
przed tabelą, tak jak </form> masz po tabeli.

Jesli nadal nie bedzie dzialac to zrob print_r($_POST) i powiedz co wyswietla

edit: ej panie kolego:
if(isset($_POST['edycja'])){
przeciez po wyslaniu tego forma z polami to juz nie masz pola EDYCJA wiec ten warunek nie jest spelniony i nie dochodzi ci juz dalej smile.gif
mattii
Cytat(nospor @ 2.02.2010, 14:47:58 ) *
twoj kod nie jest zgodny ze strukturą. form zaczynasz w table a konczysz poza nią.
daj
<form method="post">
przed tabelą, tak jak </form> masz po tabeli.

Jesli nadal nie bedzie dzialac to zrob print_r($_POST) i powiedz co wyswietla

edit: ej panie kolego:
if(isset($_POST['edycja'])){
przeciez po wyslaniu tego forma z polami to juz nie masz pola EDYCJA wiec ten warunek nie jest spelniony i nie dochodzi ci juz dalej smile.gif


czyli jak klikne na edycja - otwiera mi sie pole do edycji - i jak dam edytuj to on nie sprawdza czy ja nacisnalem edytuj tylko wraca questionmark.gif

to jak zrobić zeby dochodził dalej questionmark.gif
TheSnake
nospor, a no faktycznie, u siebie sprawdzałem na GET tongue.gif
mattii, tego ifa, który pokazuje formularz skończ przed ifem, w którym robisz zapytanie do bazy

Cytat
if(edycja)
{
formularz;
}
if(edytowano)
{
wyslij_do_bazy;
}
mattii
dzięki bardzo wszystkim za pomoc;)
oczywiście już jest ok, a tyle czasu nad tym spedzilem i nie mogle, dojsc co jest nie tak;)
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.