Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: rejestracja
Forum PHP.pl > Forum > PHP
speedy0
Witam mam tutaj kod na rejestrację i logowanie ...

strona.php

  1. <?php
  2. session_register("zalogowany");
  3.  
  4. if(empty($_SESSION["zalogowany"]))$_SESSION["zalogowany"]=0;
  5.  
  6. mysql_connect("localhost", "root", "")or die("Nie można nawiązać połączenia z bazą");
  7. mysql_select_db("Nowy folder")or die("Wystąpił błąd podczas wybierania bazy danych");
  8.  
  9. function ShowLogin($komunikat=""){
  10. echo "$komunikat<br>";
  11. echo "<form action='strona.php' method=post>";
  12. echo "Login: <input type=text name=login><br>";
  13. echo "Hasło: <input type=password name=haslo><br>";
  14. echo "<input type=submit value='Zaloguj!'>";
  15. echo "</form>";
  16. echo "Jeśli nie jesteś zarejestrowany, <a href='rejestruj.php'>tu znajdziesz formularz</a>";
  17. }
  18.  
  19. ?>
  20. <!DOCTYPE html
  21. PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  22. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  23. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pl" lang="pl">
  24. <head>
  25. <title>Strona główna</title>
  26. </head>
  27. <body>
  28. <?php
  29. if($_GET["wyloguj"]=="tak"){$_SESSION["zalogowany"]=0;echo "Zostałeś wylogowany z serwisu";}
  30. if($_SESSION["zalogowany"]!=1){
  31. if(!empty($_POST["login"]) && !empty($_POST["haslo"])){
  32. if(mysql_num_rows(mysql_query("select * from users where user_login = '".htmlspecialchars($_POST["login"])."' AND user_haslo = '".htmlspecialchars($_POST["haslo"])."'"))){
  33. echo "Zalogowano poprawnie. <a href='strona.php'>Przejdź na stronę główną</a>";
  34. $_SESSION["zalogowany"]=1;
  35. }
  36. else echo ShowLogin("Podano złe dane!!!");
  37. }
  38. else ShowLogin();
  39. }
  40. else{
  41. ?>
  42. Gratulacje! Zalogowałeś się pomyślnie! Możesz przejśc teraz do innych podstron, np. do <a href="stronka.php">tej</a>
  43. <br><a href='strona.php?wyloguj=tak'>wyloguj się</a>
  44.  
  45. <?php
  46. }
  47. ?>
  48.  
  49. </body>
  50. </html>
  51. <?php mysql_close(); ?>


rejestruj.php

  1. <?php
  2. mysql_connect("localhost", "root", "")or die("Nie można nawiązać połączenia z bazą"); //połączenie z bazą danych
  3. mysql_select_db("Nowy folder")or die("Wystąpił błąd podczas wybierania bazy danych");
  4.  
  5. function ShowForm($komunikat=""){ //funkcja wyświetlająca formularz rejestracyjny
  6. echo "$komunikat<br>";
  7. echo "<form action='rejestruj.php' method=post>";
  8. echo "Login: <input type=text name=login><br>";
  9. echo "Hasło: <input type=text name=haslo><br>";
  10. echo "e-mail: <input type=text name=email><br>";
  11. echo "<input type=hidden value='1' name=send>";
  12. echo "<input type=submit value='Zarejestruj mnie'>";
  13. echo "</form>";
  14. }
  15. ?>
  16. <!DOCTYPE html
  17. PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  18. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  19. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pl" lang="pl">
  20. <head>
  21. <title>Formularz rejestracyjny</title>
  22. </head>
  23. <body>
  24. <?php
  25. if($_POST["send"]==1){ //sprawdzanie czy formularz został wysłany
  26. if(!empty($_POST["login"]) && !empty($_POST["haslo"])){ //oraz czy uzupełniono wszystkie dane
  27. if(mysql_num_rows(mysql_query("select * from users where user_login='".htmlspecialchars($_POST["login"]."'"))))ShowForm("Użytkownik o podanym loginie już istnieje!!!"); // sprawdzanie czy użytkownik o podanej nazwie już istnieje
  28. else{
  29. mysql_query("insert into users values(NULL, '".htmlspecialchars($_POST["login"])."', '".htmlspecialchars($_POST["haslo"])."', '".htmlspecialchars($_POST["email"])."')"); // zapisywanie rekordu do bazy
  30. echo "Rejestracja przebiegła pomyślnie. Możesz teraz przejść do <a href='index.php'>strony głównej</a> i się zalogować.";
  31. }
  32. }
  33. else ShowForm("Nie uzupełniono wszystkich pól!!!");
  34. }
  35. else ShowForm();
  36. mysql_close(); //zamykanie połączenia z bazą
  37. ?>
  38. </body>
  39. </html>


Chciałbym zrobić żeby po zalogowaniu pokazywało kto jest zalogowany tylko nie nie wiem za bardzo jak to zrobić...
prosze o pomoc ... z resztą sobie chyba poradze ;]
Blame
Najprościej chyba będzie kiedy w pierwszym pliku dodasz po 35 linii:
  1. $_SESSION['login']=$_POST['login'];

Wtedy będziesz mógł się łatwo dostać do loginu i go wyświetlić winksmiley.jpg
attimo
Do zmiennej $_SESSION przypisz wartosc z loginu i potem wyswietl. Czyli dopisz do tego:


  1. <?php
  2. if($_GET["wyloguj"]=="tak"){$_SESSION["zalogowany"]=0;echo "Zostałeś wylogowany z serwisu";}
  3. if($_SESSION["zalogowany"]!=1){
  4. if(!empty($_POST["login"]) && !empty($_POST["haslo"])){
  5. if(mysql_num_rows(mysql_query("select * from users where user_login = '".htmlspecialchars($_POST["login"])."' AND user_haslo = '".htmlspecialchars($_POST["haslo"])."'"))){
  6. echo "Zalogowano poprawnie. <a href='strona.php'>Przejdź na stronę główną</a>";
  7. $_SESSION["zalogowany"]=1;
  8. }
  9. else echo ShowLogin("Podano złe dane!!!");
  10. }
  11. else ShowLogin();
  12. }


  1. $_SESSION['uzytkownik'] = $_POST["login"];
  2. echo "Zalogowany jako: ". $_SESSION['uzytkownik'];
speedy0
HM ok zrobiłem tak jak napisałeś ale czy dało by się jeszcze login dać gdzieś poza tym skryptem ? tzn w inne miejsce bo jak daje to coś mi nie wychodzi.
Norbit_24
To powinno wszędzie wyświetlić:

  1. echo "Zalogowany jako: ". $_SESSION['login'];

speedy0
Hm nie działa.



ok zrobiłem działa haha.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.