Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP]Jak wydobyć dane o użytwkoniku z logowania, logowanie, sesje itd...
andrzejlechniak
post 19.12.2010, 22:50:20
Post #1





Grupa: Zarejestrowani
Postów: 242
Pomógł: 0
Dołączył: 7.11.2008

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


Mam taki dziwny, może głupi problem.
Mam taki oto kod:

  1. $sql = "SELECT * FROM customers WHERE customers_email='$myusername'";
  2. $result = mysql_query($sql) or die(mysql_error());
  3. while ($row = mysql_fetch_array($result))
  4. {
  5. extract($row);
  6. echo $myusername;
  7.  
  8. }


i teraz loguje się na sesjach i wszelkich (mam nadzieję) zabezpieczeniach. Gdy jestem zalogowany, wyświetlam to:

  1. Jesteś zalogowany jako: <strong>' .$_SESSION['username']. '</strong>


i mój problem jest taki, że nie wiem jak wydobyć dane o użytkowniku który się zalogował - tzn. chciałbym jako zalogowany np. móc zmienić swoje dane, będąc zalogowanym. Na powyższym kodzie próbowałem, ale nic, dosłownie nic mi się nie wyświetla. Może macie jakieś propozycje?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 5)
Fifi209
post 19.12.2010, 23:41:21
Post #2





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

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


A gdzie zapisujesz do ów sesji?


--------------------
Zainteresowania: C#, PHP, JS, SQL, AJAX, XML, C dla AVR
Chętnie pomogę, lecz zanim napiszesz: Wujek Google , Manual PHP
Go to the top of the page
+Quote Post
andrzejlechniak
post 19.12.2010, 23:56:47
Post #3





Grupa: Zarejestrowani
Postów: 242
Pomógł: 0
Dołączył: 7.11.2008

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


Sesja nie jest zapisywana do bazy, jest tworzona na początku skryptu za pomocą session_start();
Go to the top of the page
+Quote Post
CuteOne
post 20.12.2010, 00:03:39
Post #4





Grupa: Zarejestrowani
Postów: 2 958
Pomógł: 574
Dołączył: 23.09.2008
Skąd: wiesz, że tu jestem?

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


Czyli coś skopciłeś... daj pełen kod - bo po co nam baza danych skoro mowa jest o sesjach?
Go to the top of the page
+Quote Post
andrzejlechniak
post 20.12.2010, 00:23:45
Post #5





Grupa: Zarejestrowani
Postów: 242
Pomógł: 0
Dołączył: 7.11.2008

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


No dobra, o moim logowaniem to już pewnie legendy krążą na tym forum. Ale proszę. Oto ono:

  1. if($_GET["wyloguj"] == '1')
  2. {
  3. unset($_SESSION["logged"]);
  4. }
  5.  
  6. if($_SESSION["logged"] != "tak")
  7. {
  8. if (empty($_POST))
  9. {
  10. echo '<form name="form1" action="logowanie.php?id=konto" method="Post" >
  11. <div class="log_main">
  12. <div class="log_dane">
  13. <div class="log_form">Login [podaj e-mail]: <input name="myusername" type="text" id="myusername"></div>
  14. <div class="log_form">Hasło: <input name="mypassword" type="password" id="mypassword"></div>
  15. <div class="log_form">&nbsp;
  16. <input type="submit" name="Submit" value="Zaloguj" title="zaloguj się">
  17. </div>
  18. </div>
  19. </div>
  20. </form>';
  21. }
  22.  
  23. // username and password sent from form
  24. $myusername=$_POST['myusername'];
  25. $mypassword=$_POST['mypassword'];
  26.  
  27. // To protect MySQL injection
  28. $myusername = stripslashes($myusername);
  29. $mypassword = stripslashes($mypassword);
  30. $myusername = mysql_real_escape_string($myusername);
  31. $mypassword = mysql_real_escape_string($mypassword);
  32.  
  33. $sql="SELECT * FROM customers WHERE customers_email='$myusername' AND customers_password='$mypassword'";
  34. $result=mysql_query($sql);
  35.  
  36. $count=mysql_num_rows($result);
  37.  
  38. if($count==1){
  39. $_SESSION["logged"] = "tak";
  40. $_SESSION["username"] = $myusername;
  41. }
  42. else
  43. {
  44. echo "Błędny login lub hasło";
  45. }
  46. }
  47.  
  48. if($_SESSION["logged"] == "tak")
  49. {
  50. echo '<div class="panel_admin_main">';
  51. echo '<img src="obrazki/kontrolka.png">
  52. Panel użytkownika | Jesteś zalogowany jako: <strong>' .$_SESSION['username']. '</strong> |
  53. <a href="logowanie.php?id=konto" title="zobacz odświeżenie strony">Zobacz odświeżenie</a> |
  54. <a href="logowanie.php?id=logowanie&wyloguj=1" OnClick="return confirm(\'Czy napewno chcesz się wylogować?\');" title="Wyloguj się z serwisu">Wyloguj się</a>
  55. <img src="obrazki/kontrolka_a.png" />';
  56. echo '</div>';
  57. }

Oczywiście na początku skryptu mam session_start();

PS. Moglibyście mi doradzić, co JEST TU nie tak (i ew. poprawki, albo przykłady jakieś), bo co i rusz jakieś z nim mam problemy. Pisałem na tym forum wiele razy o nim. Starałem się poprawić moje błędy o nim. PRZEPRASZAM wszystkich, których nie usłuchałem w tej sprawie. Ale teraz proszę Was o radę jak to poprawić.
Go to the top of the page
+Quote Post
CuteOne
post 20.12.2010, 00:41:50
Post #6





Grupa: Zarejestrowani
Postów: 2 958
Pomógł: 574
Dołączył: 23.09.2008
Skąd: wiesz, że tu jestem?

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


1. Nie łącz kilku akcji w jednym pliku - tzn. zaloguj i wyloguj powinny być w oddzielnych plikach [ ale to już oftopem ]
2. Staraj się nie mieszać PHP z HTML - na necie znajdziesz sporo poradników jak tego uniknąć
3. W ramach testu stwórz dwa pliki loguj.php i sprawdz.php

loguj.php
  1. <?php
  2.  
  3. $_SESSION['loged'] = 'zalogowano';
  4.  
  5.  
  6. echo '<a href="http://127.0.0.1/sprawdz.php">sprawdz</a>';


sprawdz.php
  1.  
  2.  
  3. echo $_SESSION['loged'];


Powinieneś się domyślić czego brakuje w twoim skrypcie

Ten post edytował CuteOne 20.12.2010, 00:42:50
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: 6.07.2025 - 10:40