Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: rejestracja logowanie a zmiana danych
Forum PHP.pl > Forum > PHP
M45t3r
No więc zmuszony zostałem do napisania "userow" no wiec sie zabrałem.. napisałem rejestracje i logowanie.. i teraz mam problem... mianowicie chodzi mi o zmiane danych w profilu, wszystko jest oparte na sesjach i wlasnie tutaj jest blad, tzn nie blad, ale nie moge tego rozgryźć...

podam kod wszystkich plikow imho potrzebnych do rozwiazania problemu..
user.php [ tutaj jest w zasadzie tylko "menu" ]

  1. <?php
  2. session_name('sid');
  3. if(empty($_GET['akcja']))
  4. {
  5.  if(!session_is_registered('login')) //jezeli nie ma sesji pokaze ten adres
  6.  {
  7. echo '<a href="index.php?strona=user&akcja=zaloguj">Zaloguj się</a><br />
  8. <a href="index.php?strona=user&akcja=zarejestruj">Zarejestruj się</a>';
  9.  }
  10. else
  11. {
  12. if(empty($_GET['op']))
  13. {
  14.  
  15. echo '<a href="index.php?strona=user&akcja=wyloguj">wyloguj się</a><br />
  16. <a href="index.php?strona=user&op=profil">Zmień informacje o sobie</a><br />
  17. <a href="">Przejdź do swojej galeri</a><br />';
  18. }
  19.  
  20. elseif($_GET['op']=='profil')
  21. {
  22. include 'modules/users/profile.php';
  23. }
  24. elseif($_GET['op']=='galeria')
  25. {
  26. include 'modules/users/gallery.php';
  27. }
  28.  
  29. }
  30.  
  31. }
  32.  
  33. elseif($_GET['akcja']=='zaloguj')
  34. {
  35. include 'modules/users/login.php';
  36. }
  37. elseif($_GET['akcja']=='zarejestruj')
  38. {
  39. include 'modules/users/register.php';
  40. }
  41. elseif($_GET['akcja']=='wyloguj')
  42. {
  43. echo 'Zostałeś wylogowany';
  44. header ("Location: index.php?strona=user");
  45. }
  46.  
  47. ?>


profile.php:

  1. <?php
  2. if(empty($_GET['dane']))
  3. {
  4. $query = 'SELECT * FROM `users` WHERE nick = '.$_SESSION['login'].'';
  5. //no i wlasnie tutaj jest ten blad, skrypt zeby wyswietlic dane potrzebuje w warun
    ku //where nick usera wiec sprawdza czy istnieje sesja
  6. // if(!session_is_registered('login'))
  7. //w tym sek, ze session login to login, login nie zawiera zadnych danych (chyba tongue.gif), 
  8. //a, zeby zmienic dane warunku where musze miec okrelsony login (nick)
  9. //probowalem robic to w ten sposob, ze w pliku login.php zmienialem //session_register('login') na session_register(''.$_POST['login'].''), ale z kolei wtedy //nie wiem jak sprawdzic czy sesja istnieje, skoro ma zawsze inna wartasc, znaczy //wartosc $_POST['login'], cztli prowadzona przez formularz. mam nadzieje, ze ktoś
  10. //to zrozumial i mi pomoze...kazda podpowiedz 
  11. //wchodzi w gre, bylbym bardzo
  12. //wdzieczny gdyby ktos naprowadzil mnie na trop, jak 
  13. //to wszystko musze zrobic 
  14. //zeby działalo tak jak powinno...
  15.  
  16.  $result = mysql_query($query);
  17.  if($result)
  18.  {
  19. while($row = mysql_fetch_array($result));
  20. {
  21.  
  22. echo '<form action="index.php?strona=user&op=profil&dane=zmien" method="post">
  23. Nick*: <input type="text" name="nick" /><br /><br />
  24. Haslo*: <input type="password" name="haslo" /><br /><br />
  25. Powtórz hasło*: <input type="password" name="haslo2" /><br /><br />
  26. Adres @: <input type="Text" name="mail" /><br /><br />
  27. Twój tytuł (Będzie wyświetlany pod nickiem): <input type="text" name="tytul" /><br /><br />
  28. Miejscowość: <input type="text" name="skad" /><br /><br />
  29. Numer GG*: <input type="text" name="gg" /><br /><br/>
  30. TlenID: <input type="text" name="tlen" /><br /><br />
  31. Strona WWW: <input type="text" name="www" value="http://www" /><br /><br />
  32. Avatar: <input type="text" name="av" value="http://www" /><br /><br />
  33. Zainteresowania:<br /> <textarea name="zainteresowania" rows="5" cols="50"></textarea><br /><br />
  34. Coś o sobie:<br /> <textarea name="about" rows="5" cols="50"></textarea><br /><br />
  35. Twój poziom graficzny:<br />
  36. <select name="poziom">
  37. <option value="początkujący">Dopiero Zaczynam</option>
  38. <option value="średni">Już coś potrafie</option>
  39. <option value="zaawansowawny">Jestem zaawansowany</option>
  40. </select>
  41. <br /><br />
  42. <input type="submit" value="Zarejestruj się" />
  43. </form>';
  44. }
  45.  }
  46. }
  47. elseif($_GET['dane']=='zmien')
  48. {
  49.  echo 'zmieniono';
  50. //tutaj jeszcze nie skonczony kod, ale do jest bajka
  51. }
  52. ?>


login.php:
  1. <?php
  2. if(empty($_GET['login']))
  3. {
  4. if(!session_is_registered('login'))
  5. {
  6. echo '<form action="index.php?strona=user&akcja=zaloguj&login=ok" method="post">
  7. <input type="text" name="nick" /><br /><br />
  8. <input type="password" name="haslo" /><br /><br />
  9. <input type="submit" value="Zaloguj się" />
  10. </form>';
  11.  }
  12. else
  13. {
  14.  header ("Location: index.php?strona=user");
  15. }
  16. }
  17. $query = "SELECT * FROM `users` WHERE nick ='".$_POST['nick']."'";
  18. $result = mysql_query($query);
  19. if($result)
  20. {
  21. while($row = mysql_fetch_assoc($result))
  22. {
  23.  if(md5($_POST['haslo'])==''.$row['haslo'].'' && $_POST['nick']==''.$row['nick'].'')
  24.  {
  25. session_register('login');
  26.  header ("Location: index.php?strona=user");
  27.  
  28.  }
  29. }
  30. }
  31. else
  32. {
  33.  echo 'Zły login lub hasło';
  34. }
  35. ?>
Ociu
  1. <?php
  2. var_dump($_SESSION); # lub print_r()
  3. if(empty($_SESSION['login'])) die('session is null');
  4. ?>
M45t3r
ja wiem jak sprawidzc sesje tongue.gif przeczytaj komentarz:P moze kapniesz sie o co chodzi tongue.gif
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.