Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP]Edycja profilu dla zalogowanego użytkownika, Problem z prawidłowym zapytaniem
tinware
post
Post #1





Grupa: Zarejestrowani
Postów: 83
Pomógł: 0
Dołączył: 23.08.2009
Skąd: Wołomin

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


Witam.

Mam mały problem z wykonaniem prawidłowego zapytania do bazy mysql. Chodzi o to, że dany użytkownik loguje się swoim loginem i hasłem, i chce dodać możliwość edycji jego danych (login, hasło i kilka dodatkowych, które podawał podczas rejestracji tj. imie, nazwisko, miejscowosc). Problem jest z prawidłowym wykonaniem zapytania, skrypt musi wyciągnąć dany rekord danego użytkownika z bazy przez login z bazy = login w sesji. Moim zdaniem w 4 linijce jest dosyć duży błąd, ale nie wiem jak go poprawić. zależy mi na tym, żeby inny użytkownik nie mógł edytować profilu pozostałych, tak jak bym zrobił: ?go=users_edit&login=$login
Każdy w adresie mógłby zmienić koncówke na login innego użytkownika i go edytować. Dlatego zależy mi na podpięcie tego pod sesje, aby każdy edytował tylko swój profil.


Oto kod:
  1. if ($_GET['go'] == 'users_edit') {
  2. echo "<b>Użytkownik / Edycja profilu:</b><br><br><br><br>";
  3.  
  4. $query = "SELECT * FROM Users WHERE login='$_SESSION['login']'";
  5. $wynik = mysql_query ($query);
  6. $rekord = mysql_fetch_assoc ($wynik);
  7. $nr = $rekord['nr'];
  8.  
  9. $data = $rekord['data'];
  10. $login = stripslashes( ($rekord['login']));
  11. $haslo = stripslashes( ($rekord['haslo']));
  12. $imie = stripslashes( ($rekord['imie']));
  13. $nazwisko = stripslashes( ($rekord['nazwisko']));
  14.  
  15. echo '<center>';
  16. echo '<FORM action=?go=# METHOD="POST">';
  17. echo '<INPUT TYPE="hidden" NAME="action" VALUE="popraw">';
  18. echo '<INPUT TYPE="hidden" NAME="id" VALUE="'.$nr.'"><TABLE width=390 CELLPADDING=0 CELLSPACING=10 BORDER=0>';
  19.  
  20. echo '<TR><TD align="right">Nr:</TD><TD width="300"><INPUT TYPE="text" NAME="nr" style="width: 300px" VALUE="'.$nr.'"></TD></TR>';
  21. echo '<TR><TD align="right">Login:</TD><TD width="300"><INPUT TYPE="text" NAME="login" style="width: 300px" VALUE="'.$login.'"></TD></TR>';
  22. echo '<TR><TD align="right">Hasło:</TD><TD width="300"><INPUT TYPE="text" NAME="haslo" style="width: 300px" VALUE="'.$haslo.'"></TD></TR>';
  23. echo '<TR><TD align="right">Imie:</TD><TD width="300"><INPUT TYPE="text" NAME="imie" style="width: 300px" VALUE="'.$imie.'"></TD></TR>';
  24. echo '<TR><TD align="right">Nazwisko:</TD><TD width="300"><INPUT TYPE="text" NAME="nazwisko" style="width: 300px" VALUE="'.$nazwisko.'"></TD></TR>';
  25.  
  26. echo '</TABLE>';
  27. echo '</FORM>';
  28. echo '</center>';
  29. }


Ten post edytował tinware 2.03.2011, 11:28:33
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
tinware
post
Post #2





Grupa: Zarejestrowani
Postów: 83
Pomógł: 0
Dołączył: 23.08.2009
Skąd: Wołomin

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


Skrypt ściąga dane z bazy prawidłowo, ale nie zapisuje ich. Moim zdaniem błąd kryje się w linijkach 37-40 oraz 125. Moglibyście zerknąć na kod.

  1. if ($_GET['go'] == 'users_edit') {
  2.  
  3. if (empty($_SESSION['login']))
  4. {
  5. header("Location: ?go=users_login");
  6. die (' ');
  7. }
  8. else
  9. {
  10. echo "";
  11. }
  12.  
  13. echo "<br><b>Użytkownik / Edycja profilu:</b><br><br><br><br>";
  14.  
  15. $query = "SELECT * FROM Users WHERE login='".$_SESSION['login']."';";
  16. $wynik = mysql_query ($query);
  17. $rekord = mysql_fetch_assoc ($wynik);
  18. $nr = $rekord['nr'];
  19. $data = $rekord['data'];
  20. $login = stripslashes( ($rekord['login']));
  21. $haslo = stripslashes( ($rekord['haslo']));
  22. $avatar = stripslashes( ($rekord['avatar']));
  23. $subskrypcja = stripslashes( ($rekord['subskrypcja']));
  24. $email = stripslashes( ($rekord['email']));
  25. $gg = stripslashes( ($rekord['gg']));
  26. $imie = stripslashes( ($rekord['imie']));
  27. $nazwisko = stripslashes( ($rekord['nazwisko']));
  28. $pseudonim = stripslashes( ($rekord['pseudonim']));
  29. $miejscowosc = stripslashes( ($rekord['miejscowosc']));
  30. $data_urodzenia_dzien = stripslashes( ($rekord['data_urodzenia_dzien']));
  31. $data_urodzenia_miesiac = stripslashes( ($rekord['data_urodzenia_miesiac']));
  32. $data_urodzenia_rok = stripslashes( ($rekord['data_urodzenia_rok']));
  33. $facebook = stripslashes( ($rekord['facebook']));
  34. $nk = stripslashes( ($rekord['nk']));
  35. $grono = stripslashes( ($rekord['grono']));
  36.  
  37. echo '<center>';
  38. echo '<FORM action=?go=users_edit_save METHOD="POST">';
  39. echo '<INPUT TYPE="hidden" NAME="action" VALUE="popraw">';
  40. echo '<INPUT TYPE="hidden" NAME="id" VALUE="'.$nr.'">';
  41.  
  42. echo '<TABLE width=388 CELLPADDING=0 CELLSPACING=0 BORDER=0>';
  43. echo '<tr>';
  44. echo '<td align=left valign=top>';
  45. echo '<TABLE width=270 CELLPADDING=0 CELLSPACING=10 BORDER=0>';
  46. echo '<TR><TD align="right">Login:</TD><TD width="180"><INPUT TYPE="text" NAME="login" style="width: 180px" VALUE="'.$login.'" readonly></TD></TR>';
  47. echo '<TR><TD align="right">Hasło:</TD><TD width="180"><INPUT TYPE="text" NAME="haslo" style="width: 180px" VALUE="'.$haslo.'"></TD></TR>';
  48. echo '<TR><TD align="right">Imie:</TD><TD width="180"><INPUT TYPE="text" NAME="imie" style="width: 180px" VALUE="'.$imie.'" readonly></TD></TR>';
  49. echo '<TR><TD align="right">Nazwisko:</TD><TD width="180"><INPUT TYPE="text" NAME="nazwisko" style="width: 180px" VALUE="'.$nazwisko.'" readonly></TD></TR>';
  50. echo '</TABLE>';
  51. echo '</td>';
  52.  
  53. if ($avatar == '') {
  54. echo "<td width=140 align=center valign=middle>Brak Avatara</td>";
  55. }else{
  56. echo "<td width=140 align=center valign=middle><img src='$avatar' width=100 height=100 border=0></td>";
  57. }
  58.  
  59. echo '</tr>';
  60. echo '</TABLE>';
  61.  
  62. echo '<TABLE width=390 CELLPADDING=0 CELLSPACING=10 BORDER=0>';
  63. echo '<TR><TD align="right">Pseudonim:</TD><TD width="300"><INPUT TYPE="text" NAME="pseudonim" style="width: 300px" VALUE="'.$pseudonim.'"></TD></TR>';
  64. echo '<TR><TD align="right">Data ur.:</TD><TD width="300"><INPUT TYPE="text" NAME="data_urodzenia_dzien" style="width: 50px" VALUE="'.$data_urodzenia_dzien.'" readonly> <INPUT TYPE="text" NAME="data_urodzenia_miesiac" style="width: 50px" VALUE="'.$data_urodzenia_miesiac.'" readonly> <INPUT TYPE="text" NAME="data_urodzenia_rok" style="width: 80px" VALUE="'.$data_urodzenia_rok.'" readonly></TD></TR>';
  65. echo '<TR><TD align="right">Miejscowość:</TD><TD width="300"><INPUT TYPE="text" NAME="miejscowosc" style="width: 300px" VALUE="'.$miejscowosc.'"></TD></TR>';
  66. echo '<TR><TD align="right"><br>Avatar:</TD><TD width="300"><br><INPUT TYPE="text" NAME="avatar" style="width: 100px" VALUE="'.$avatar.'"></TD></TR>';
  67. echo '<TR><TD align="right"><br> </TD><TD width="300"><br><INPUT TYPE="hidden" NAME="subskrypcja" style="width: 300px" VALUE="'.$subskrypcja.'" readonly></TD></TR>';
  68. echo '<TR><TD align="right">Email:</TD><TD width="300"><INPUT TYPE="text" NAME="email" style="width: 300px" VALUE="'.$email.'" readonly></TD></TR>';
  69. echo '<TR><TD align="right">GaduGadu:</TD><TD width="300"><INPUT TYPE="text" NAME="gg" style="width: 300px" VALUE="'.$gg.'"></TD></TR>';
  70. echo '<TR><TD align="right"><br>Facebook:</TD><TD width="300"><br><INPUT TYPE="text" NAME="facebook" style="width: 300px" VALUE="'.$facebook.'"></TD></TR>';
  71. echo '<TR><TD align="right">Nk:</TD><TD width="300"><INPUT TYPE="text" NAME="nk" style="width: 300px" VALUE="'.$nk.'"></TD></TR>';
  72. echo '<TR><TD align="right">Grono:</TD><TD width="300"><INPUT TYPE="text" NAME="grono" style="width: 300px" VALUE="'.$grono.'"></TD></TR>';
  73. echo '<TR><TD align="right"><br></TD><TD width="300" align="right"><br><INPUT TYPE="submit" VALUE="Zapisz zmiany"></td></tr>';
  74. echo '</TABLE>';
  75. echo '</FORM>';
  76. echo '</center>';
  77. }
  78.  
  79.  
  80.  
  81.  
  82.  
  83.  
  84.  
  85.  
  86.  
  87.  
  88.  
  89. if ($_GET['go'] == 'users_edit_save') {
  90. echo "<br><b>Użytkownik / Edycja profilu / Zapisywanie zmian:</b><br><br><br><br>";
  91.  
  92. $loginqq = addslashes(htmlspecialchars ($_POST['login']));
  93. $hasloqq = addslashes(htmlspecialchars ($_POST['haslo']));
  94. $avatarqq = addslashes(htmlspecialchars ($_POST['avatar']));
  95. $subskrypcjaqq = addslashes(htmlspecialchars ($_POST['subskrypcja']));
  96. $emailqq = addslashes(htmlspecialchars ($_POST['email']));
  97. $ggqq = addslashes(htmlspecialchars ($_POST['gg']));
  98. $imieqq = addslashes(htmlspecialchars ($_POST['imie']));
  99. $nazwiskoqq = addslashes(htmlspecialchars ($_POST['nazwisko']));
  100. $pseudonimqq = addslashes(htmlspecialchars ($_POST['pseudonim']));
  101. $miejscowoscqq = addslashes(htmlspecialchars ($_POST['miejscowosc']));
  102. $data_urodzenia_dzienqq = addslashes(htmlspecialchars ($_POST['data_urodzenia_dzien']));
  103. $data_urodzenia_miesiacqq = addslashes(htmlspecialchars ($_POST['data_urodzenia_miesiac']));
  104. $data_urodzenia_rokqq = addslashes(htmlspecialchars ($_POST['data_urodzenia_rok']));
  105. $facebookqq = addslashes(htmlspecialchars ($_POST['facebook']));
  106. $nkqq = addslashes(htmlspecialchars ($_POST['nk']));
  107. $gronoqq = addslashes(htmlspecialchars ($_POST['grono']));
  108.  
  109.  
  110. if ($_POST['action'] == 'add') { //dodawanie rekordu
  111. {
  112. $query = "INSERT INTO Users (login, haslo, avatar, subskrypcja, email, gg, imie, nazwisko, pseudonim, miejscowosc, data_urodzenia_dzien, data_urodzenia_miesiac, data_urodzenia_rok, facebook, nk, ";
  113. $query .= "grono, data) VALUES ('$loginqq', '$hasloqq', '$avatarqq', '$subskrypcjaqq', '$emailqq', '$ggqq', '$imieqq', '$nazwiskoqq', '$pseudonimqq', '$miejscowoscqq', '$data_urodzenia_dzienqq', '$data_urodzenia_miesiacqq', '$data_urodzenia_rokqq', '$facebookqq', '$nkqq', '$gronoqq', ".
  114. "now());";
  115. $wynik = mysql_query ($query);
  116. }
  117.  
  118.  
  119.  
  120. }
  121. elseif ($_POST['action'] == 'popraw') { //poprawienie rekordu
  122. {
  123. $query = "UPDATE Users SET login='$loginqq',haslo='$hasloqq',avatar='$avatarqq',subskrypcja='$subskrypcjaqq',email='$emailqq',gg='$ggqq',imie='$imieqq',nazwisko='$nazwiskoqq',pseudonim='$pseudonimqq',miejscowosc='$miejscowoscqq',data_urodzenia_dzien='$data_urodzenia_dzienqq',data_urodzenia_miesiac='$data_urodzenia_miesiacqq',data_urodzenia_rok='$data_urodzenia_rokqq',facebook='$facebookqq',nk='$nkqq',grono=";
  124. $query .= "'$gronoqq' WHERE
  125. login='".$_SESSION['login']."';";
  126. $wynik = mysql_query ($query);
  127. }
  128.  
  129. }
  130. echo "qwerty";
  131. }


Ten post edytował tinware 2.03.2011, 15:11:47
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 14.10.2025 - 14:54