Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [HTML][MySQL][PHP]Skrypt logowania
andrzejlechniak
post 19.10.2010, 11:33:02
Post #1





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

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


Witam. Jestem jeszcze początkujący z PHP. Mam problem odnośnie logowania za pomocą PHP i MySQL. Chciałbym w jednym pliku mieć formularz i za pomocą przesyłania danych na tej samej stronie otrzymać wiadomość, że jestem zalogowany/lub nie. Podaję mój fragment kodu:

Plik index.php
  1. ...
  2. $sql="SELECT * FROM osoby WHERE login='$myusername' and password='$mypassword'";
  3. $result=mysql_query($sql);
  4.  
  5. $count=mysql_num_rows($result);
  6.  
  7. if($count==1){
  8. session_register("myusername");
  9. session_register("mypassword");
  10. echo 'Jesteś zalogowany.';
  11. }
  12. else {
  13. echo "Błędny login lub hasło";
  14. }
  15.  
  16. $logowanie=<<<HR
  17. <form name="form1" action="index.php?go=4" method="Post" >
  18.   <div>Użytkownik: <input name="myusername" type="text" id="myusername"></div>
  19.   <div>Hasło: <input name="mypassword" type="password" id="mypassword"></div>
  20.   <div>&nbsp;<input type="submit" name="Submit" value="Zaloguj"></div>
  21. </form>
  22. HR;
  23.  
  24. $content=<<<HR
  25.   <div id="front">
  26.   <div class="main">
  27.   <div class="header">Logowanie</div>
  28.   <div class="informacje">
  29.   $logowanie
  30.   </div>
  31.   </div>
  32.   </div>
  33. HR;
  34. return $content;
  35. ...


Problem w tym, że jak przesyłam w ten sposób to po zalogowaniu mam wiadomość o tym, że jestem zalogowany, ale mam dalej formularz na stronie z pustymi polami, a chcę aby był widoczny TYLKO przed logowaniem. Proszę, pomóżcie (tak abym zrozumiał, czyli proszę o jakąś podpowiedź z kodem.) Pozdrawiam, Andrzej
Go to the top of the page
+Quote Post
wookieb
post 19.10.2010, 11:35:56
Post #2





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




No więc skonstroluj to czy ma się wyświetlać czy też nie.


--------------------
Go to the top of the page
+Quote Post
zimekk
post 19.10.2010, 11:52:48
Post #3





Grupa: Zarejestrowani
Postów: 70
Pomógł: 2
Dołączył: 25.11.2008

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


  1. if (empty($_POST))
  2. {
  3.  
  4. $logowanie=<<<HR
  5. <form name="form1" action="index.php?go=4" method="Post" >
  6.   <div>Użytkownik: <input name="myusername" type="text" id="myusername"></div>
  7.   <div>Hasło: <input name="mypassword" type="password" id="mypassword"></div>
  8.   <div>&nbsp;<input type="submit" name="Submit" value="Zaloguj"></div>
  9. </form>
  10. HR;
  11. }


Ten post edytował zimekk 19.10.2010, 11:54:28


--------------------
Trochę historii...
Go to the top of the page
+Quote Post
andrzejlechniak
post 19.10.2010, 12:30:04
Post #4





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

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


Dzięki, to pomogło. Mam jeszcze jedno małe pytanko - jak zrobić, aby z innego pliku wyświetlały mi się funkcje w części dla zalogowanych. Plik zaczynam od session_start(), mam dołączony plik z funkcjami ale gdy wywołuję je [np. administracja() lub $content_admin] to widzę tylko komunikat z tym, że jestem zalogowany i oczywiście resztę strony OPRÓCZ funkcji, którą wywołuję. Próbowałem różnych sposobów, ale wymiękam. Pomóżcie. Podaję fragment kodu:

  1. if($count==1){
  2. session_register("myusername");
  3. session_register("mypassword");
  4. echo 'Jesteś zalogowany.<br />';
  5. echo '<a href="index.php?go=4">Wyloguj się</a>';
  6. }
  7. else {
  8. echo "Błędny login lub hasło";
  9. }
  10.  
  11. if (empty($_POST))
  12. {
  13. $logowanie=<<<HR
  14.  <form name="form1" action="index.php?go=4" method="Post" >
  15.   <div>Użytkownik: <input name="myusername" type="text" id="myusername"></div>
  16.   <div>Hasło: <input name="mypassword" type="password" id="mypassword"></div>
  17.   <div>&nbsp;<input type="submit" name="Submit" value="Zaloguj"></div>
  18. </form>
  19. HR;
  20. }
  21.  
  22. $content=<<<HR
  23.   <div id="front">
  24.   <div class="main">
  25.   <div class="header">Logowanie</div>
  26.   <div class="informacje">
  27.   $logowanie
  28.   </div>
  29.   </div>
  30.   </div>
  31. HR;
  32. return $content;
  33.  
  34. }


Dzięki, Andrzej
Go to the top of the page
+Quote Post
Meferot
post 19.10.2010, 15:15:44
Post #5





Grupa: Zarejestrowani
Postów: 64
Pomógł: 0
Dołączył: 31.08.2009

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


Osobiście to Ci radzę po sprawdzeniu poprawności danych w bazie utworzyć sesje np:
$_SESSION['user_id'] = x;

x=id usera z bazy

A potem jak będziesz sobie chciał wyświetlić tylko coś dla osoby zalogowanej to robisz:

  1. if(!empty($_SESSION['user_id'])) {
  2. echo 'Widoczne tylko dla zalogowanych!';
  3. }
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: 14.08.2025 - 09:46