Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Edycja ustawień użytkownika
-Pionas-
post 3.08.2004, 12:18:49
Post #1





Goście







Witam!

Mam pewien problem.
Mam pewna tebel w bazie danych w ktorej sa zainteresowania, i jeszcze jedna tabele w ktorej sa dane o uzytkowniku. Zrobilem ze do rekordu w tabeli uztywkonik po zakonczeniu rejestrcji sa importowane wszystkie dane o uzytwkoniku oraz numery ID zainteresowan z tabeli zainteresowania, i teraz jest moj probl;em, jak zrobic zeby uzytkownik przy edytowaniu swoich danych mogl zobaczy zainteresowania ktore wybral przy rejestracji i mogl je zmienic. POnizej podaje zawartosc plikow.

formularz rejestracyjny:
  1. Adres email: <input type=\"text\" name=\"email\"> 
  2. Imie: <input type=\"text\" name=\"imie\"> 
  3. Nazwisko: <input type=\"text\" name=\"nazwisko\"> 
  4. Adres: <input type=\"text\" name=\"adres\"> 
  5. Miasto: <input type=\"text\" name=\"miasto\"> 
  6. Wojewodztwo: <input type=\"text\" name=\"wojewodztwo\"> 
  7. Kod pocztowy: <input type=\"text\" name=\"kod\"> 
  8. Haslo: <input type=\"text\" name=\"haslo\"> 
  9. Zaintersowania: <?php 
  10. $query = &#092;"select * from interests\"; 
  11. $wynik = @mysql_query($query); 
  12. echo '<table><tr>'; 
  13. $i = 0; 
  14. while($row = mysql_fetch_array($wynik)) 
  15. { 
  16. $i++; 
  17. echo '<td><input type=checkbox name=finterests[] value='.$row['interest'].'>'.$row['name'].'</td>'; 
  18. if ($i %== 0) echo '</tr><tr>'; 
  19. } 
  20. ?>


po przejsciu dalej:
  1. <?php
  2.  
  3. for($i=0;$i<count($finterests);$i++) 
  4. { 
  5.  
  6.  $int.=$finterests[$i].&#092;",\"; 
  7. } 
  8.  
  9. $sql=mysql_query(&#092;"INSERT INTO uzytkownik (email, imie, nazwisko, adres, miasto, wojewodztwo, kod, haslo, zainteresowa
    n
  10. a) VALUES ('$email', '$imie', '$nazwisko', '$adres', '$miasto', '$wojewodztwo', '$kod', '$haslo', '$int')\") or die (mysql_error()); 
  11. $sq=mysql_query(\"SELECT * FROM uzytkownik WHERE femail='$email'\") or die(mysql_error()); 
  12. $arr=mysql_fetch_array($sq); extract($arr); 
  13. if(mysql_affected_rows) echo \"<center><P><P><P><b>Dziekujemy za rejestracje!</b><br>Numer twojego identyfikatora to: <b>$id</b><br>Haslo: <b>$haslo</b></b><p>Chcesz sie zalogowac na swoje konto? Kilknij<a href=logowanie.php>Tutaj</a><p></center>\"; 
  14. ?>


pomysalem ze moze jeszcze altwiej bedzie jak pokaze zawartosc pliku w ktorym sa wyswietlane inforamcje o swoim koncie:
  1. <?php 
  2. if($act=='change') 
  3. { 
  4.  
  5. // Checking form-data 
  6. if(!$HTTP_POST_VARS['email']) 
  7. { 
  8. echo&#092;"<b><font size=4 color= red>BLAD!</font></b><P>ZLy e-mail! Wroc i sprubuj jeszcze raz...\"; 
  9. } 
  10. else if(!$HTTP_POST_VARS['nazwisko']) 
  11. { 
  12. echo&#092;"<b><font size=4 color= red>BLAD!</font></b><P>ZLe Imie! Wroc i sprubuj jeszcze raz...\"; 
  13. } 
  14. else if(!$HTTP_POST_VARS['name2']) 
  15. { 
  16. echo&#092;"<b><font size=4 color= red>BLAD!</font></b><P>Zle nazwisko! Wroc i sprubuj jeszcze raz...\"; 
  17. } 
  18. else if(!$HTTP_POST_VARS['adres']) 
  19. { 
  20. echo&#092;"<b><font size=4 color= red>BLAD!</font></b><P>Zly adres! Wroc i sprubuj jeszcze raz...\"; 
  21. } 
  22. else if(!$HTTP_POST_VARS['miasto']) 
  23. { 
  24. echo&#092;"<b><font size=4 color= red>BLAD!</font></b><P>Zle miasto! Wroc i sprubuj jeszcze raz...\"; 
  25. } 
  26. else if(!$HTTP_POST_VARS['wojewodztwo']) 
  27. { 
  28. echo&#092;"<b><font size=4 color= red>BLAD!</font></b><P>Zle wojewodztwo! Wroc i sprubuj jeszcze raz...\"; 
  29. } 
  30. else if(!$HTTP_POST_VARS['kod']) 
  31. { 
  32. echo&#092;"<b><font size=4 color= red>BLAD!</font></b><P>ZLy kod pocztowy! Wroc i sprubuj jeszcze raz...\"; 
  33. } 
  34. else if(!$HTTP_POST_VARS['kraj']) 
  35. { 
  36. echo&#092;"<b><font size=4 color= red>BLAD!</font></b><P>Zly kraj! Wroc i sprubuj jeszcze raz...\"; 
  37. } 
  38. else if(!$HTTP_POST_VARS['haslo']) 
  39. { 
  40. echo&#092;"<b><font size=4 color= red>BLAD!</font></b><P>Zle haslo! Wroc i sprubuj jeszcze raz...\"; 
  41. } 
  42. else if($HTTP_POST_VARS['haslo'] != $HTTP_POST_VARS['powhaslo']) 
  43. { 
  44. echo&#092;"<b><font size=4 color= red>BLAD!</font></b><P>Zle haslo powtorzeniowe! Wroc i sprubuj jeszcze raz...\"; 
  45. } 
  46. else 
  47. $noBLADs=1; 
  48. if($noBLADs) 
  49. { 
  50. $ch_base=mysql_query(&#092;"UPDATE users SET email='$email', imie='$imie', nazwisko='$name2', adres='$adres', miasto='$miasto', wojewodztwo='$wojewodztwo', kod='$kod', kraj='$kraj',haslo='$haslo' WHERE id=$id\") or die(mysql_BLAD()); 
  51. if(mysql_affected_rows()) echo&#092;"<b>Zmiany zostaly dokoanne...</b>\"; 
  52. $sql=mysql_query(&#092;"SELECT * FROM users WHERE email='$email' AND haslo='$haslo'\"); 
  53. $arr=mysql_fetch_array($sql); 
  54. extract($arr); 
  55. } 
  56.  
  57. } 
  58. ?> 
  59. <? 
  60. $adres = stripslashes($adres); 
  61. ?> 
  62. <form name=\"changeprofile\" method=\"post\" action=\"index.php\"> 
  63. <input type=hidden name=required_keywords value=3> 
  64. <input type=hidden name=user_form value=signup> 
  65. <input type=hidden name=userform[code] value=48425a7f> 
  66. <input type=hidden name=required value='login,email,imie,nazwisko,adres,miasto,wojewodztwo,kodcode,kraj,haslo'> 
  67. E-Mail: <input type=\"text\" name=\"email\" value=\"<?echo&#092;"$email\"?>\"><br> 
  68. Imie: <input type=\"text\" name=\"imie\" value=\"<?echo&#092;"$imie\"?>\"><br> 
  69. Nazwisko: <input type=\"text\" name=\"name2\" value=\"<?echo&#092;"$nazwisko\"?>\"><br> 
  70. Adres: <input type=\"text\" name=\"adres\" value=\"<?echo&#092;"$adres\"?>\"><br> 
  71. Miasto: <input type=\"text\" name=\"miasto\" value=\"<?echo&#092;"$miasto\"?>\"><br> 
  72. Wojewodztwo: <input type=\"text\" name=\"wojewodztwo\" value=\"<?echo&#092;"$wojewodztwo\"?>\"><br> 
  73. Kod Pocztowy: <input type=\"text\" name=\"kod\" value=\"<?echo&#092;"$kod\"?>\"><br> 
  74. Kraj: <select name=\"kraj\"> 
  75. <? 
  76. $sql=mysql_query(&#092;"SELECT * FROM countries ORDER BY kraj\") or die(mysql_BLAD()); 
  77. $rows=mysql_num_rows($sql); 
  78. for($i=0;$i<$rows;$i++) 
  79. { 
  80. mysql_data_seek($sql,$i); 
  81. $arr=mysql_fetch_array($sql); 
  82. extract($arr); 
  83. echo&#092;"<option value='$kraj' \"; if($kraj==$kraj)echo'selected'; echo\">$kraj</option>\";} 
  84. ?> 
  85. </select><br> 
  86. Zainteresowania:<br> 
  87. <?php 
  88. $query = &#092;"select * from interests\"; 
  89. $wynik = @mysql_query($query); 
  90. echo '<table><tr>'; 
  91. $i = 0; 
  92. while($row = mysql_fetch_array($wynik)) 
  93. { 
  94. $i++; 
  95. echo '<td><input type=checkbox name=finterests[] value='.$row['interest'].'>'.$row['name'].'</td>'; 
  96. if ($i %== 0) echo '</tr><tr>'; 
  97. } 
  98. ?> 
  99. </td> 
  100. </tr> 
  101. </table> 
  102. Twoje haslo: <input type=haslo name=haslo><br> 
  103. Powtorz haslo: <input type=haslo name=powhaslo><br> 
  104. <input type=\"submit\" value=\" Zmien dane!\" name=\"submit\"> 
  105. <input type=\"hidden\" name=\"tp\" value=\"user\"> 
  106. <input type=\"hidden\" name=\"st\" value=\"edit\"> 
  107. <input type=\"hidden\" name=\"s\" value=\"2\"> 
  108. <input type=\"hidden\" name=\"act\" value=\"change\"> 
  109. </form>


prosze o pomoc


-- Prosze uzywac znacznikow [php] do umieszczania w nich kodu php
-- hwao
-- temat nie odpowiedni prosze przy pisaniu nastepnego posta napisac proponowany temat albo temat trafi do kosza


temat został zmieniny na czytelniejszy - DeyV
Go to the top of the page
+Quote Post
rogrog
post 3.08.2004, 12:33:21
Post #2





Grupa: Zarejestrowani
Postów: 602
Pomógł: 1
Dołączył: 3.04.2004
Skąd: Trójmiasto (Gdańsk)

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


Proponuje jeszcze raz przemyśleć strukturę bazy danych...

bo masz relacje wiele do wielu więc najlepiej zrób jeszcze trzecią tabelę która będzie przechowywała relacje:

Kod
`users`
nr INT PRIMARY KEY,
login
itd..

`zainteresowania`
nr INT PRIMARY KEY,
nazwa VARCHAR...

`relacja`
nr INT PRIMARY KEY,
user INT NOT NULL,
zainteresowanie INT NOT NULL


i wtedy masz np. takie zapytanie
  1. SELECT zainteresowanie FROM users, zainteresowania, relacja WHERE users.login='login' AND relacja.user=users.nr AND relacja.zainteresowanie=zainteresowania.nr


no i tak to chyba powinno wyglądać smile.gif

sorry jeśli ci namieszałem w głowie winksmiley.jpg


----
a co do kodu formularza... chyba niepotrzabnie wklejasz smile.gif w każdym razie pisze się "spróbuj" a nie "sprubuj" smile.gif

Ten post edytował rogrog 6.08.2004, 17:16:28


--------------------
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: 27.04.2024 - 12:28