Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PhP] Widok stron po zalogowaniu
Azonic
post 4.05.2014, 17:00:58
Post #1





Grupa: Zarejestrowani
Postów: 26
Pomógł: 0
Dołączył: 19.04.2014

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


Witam, mam tu prosty skrypt logowania z mozliwoscia wyswietlania stron tylko dla zalogowanych.

Home.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("test")or die("Wystąpił błąd podczas wybierania bazy danych");
  8.  
  9. function ShowLogin($komunikat=""){
  10. echo "$komunikat<br>";
  11. echo "<form action='index.php' method=post>";
  12. echo "Login: <input type=text name=login><br>";
  13. echo "Hasło: <input type=text 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='index.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='index.php?wyloguj=tak'>wyloguj się</a>
  44. <?php
  45. }
  46. ?>
  47.  
  48. </body>
  49. </html>
  50. <?php mysql_close(); ?>



Wywala mi błąd Fatal error: Call to undefined function session_register() in E:\PROJEKTY\XAMPP\htdocs\cms3\home.php on line 3

Czy ktos wie co może być nie tak?

Pozdrawiam

Ten post edytował Azonic 4.05.2014, 17:06:04
Go to the top of the page
+Quote Post
mar1aczi
post 4.05.2014, 17:19:48
Post #2





Grupa: Zarejestrowani
Postów: 731
Pomógł: 141
Dołączył: 9.05.2011
Skąd: śląskie

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


Może wersja php: session_register


--------------------
Szanuj innych czas! Kliknij , gdy pomocną wskazówkę otrzymasz.
Go to the top of the page
+Quote Post
adeptofvoltron
post 4.05.2014, 17:24:23
Post #3





Grupa: Zarejestrowani
Postów: 51
Pomógł: 2
Dołączył: 4.09.2013

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


tutaj masz dokumentację tej funkcji. a w dokumentacji masz informację, że w nowszych php'ach od 4 do 5.4 masz wyłączoną tę funkcję.

to może być jedna przeslanka dlaczego to nie działa.

możesz ją w konfiguracji swojego PHP'a włączyć. Albo (co jest polecane przez tworcow języka) zamiast:
  1. session_register("zalogowany");
  2.  
  3. if(empty($_SESSION["zalogowany"]))$_SESSION["zalogowany"]=0;

użyć
  1. if(!isset($_SESSION['zalogowany']))
  2. $_SESSION['zalogowany']=0


@edyta: przedmówca mnie ubiegł jak pisałem ten post. Sens jak widzisz ten sam. Mam nadzieję, że pomoglem.

Ten post edytował adeptofvoltron 4.05.2014, 17:25:27
Go to the top of the page
+Quote Post
Azonic
post 4.05.2014, 18:39:30
Post #4





Grupa: Zarejestrowani
Postów: 26
Pomógł: 0
Dołączył: 19.04.2014

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


Dzięki za odpowiedzi problem znikł lecz pojawił się kolejny


Parse error: syntax error, unexpected 'function' (T_FUNCTION) in E:\PROJEKTY\XAMPP\htdocs\cms3\home.php on line 9


na lini 9 mamy:

function ShowLogin($komunikat=""){

Ten post edytował Azonic 4.05.2014, 18:41:16
Go to the top of the page
+Quote Post
mar1aczi
post 4.05.2014, 18:41:06
Post #5





Grupa: Zarejestrowani
Postów: 731
Pomógł: 141
Dołączył: 9.05.2011
Skąd: śląskie

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


Bez kodu, to strzelam. Brakuje średnika na zakończenie linii 8?


--------------------
Szanuj innych czas! Kliknij , gdy pomocną wskazówkę otrzymasz.
Go to the top of the page
+Quote Post
Azonic
post 4.05.2014, 18:50:06
Post #6





Grupa: Zarejestrowani
Postów: 26
Pomógł: 0
Dołączył: 19.04.2014

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


kod jest w temacie a dokładnie:

  1. function ShowLogin($komunikat=""){
  2. echo "$komunikat<br>";
  3. echo "<form action='index.php' method=post>";
  4. echo "Login: <input type=text name=login><br>";
  5. echo "Hasło: <input type=text name=haslo><br>";
  6. echo "<input type=submit value='Zaloguj!'>";
  7. echo "</form>";
  8. echo "Jeśli nie jesteś zarejestrowany, <a href='rejestruj.php'>tu znajdziesz formularz</a>";
  9. }
Go to the top of the page
+Quote Post
mar1aczi
post 4.05.2014, 18:56:23
Post #7





Grupa: Zarejestrowani
Postów: 731
Pomógł: 141
Dołączył: 9.05.2011
Skąd: śląskie

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


Cytat(Azonic @ 4.05.2014, 19:50:06 ) *
kod jest w temacie a dokładnie:

To znaczy, nic nie zmieniłeś w kodzie ze swojego pierwszego postu zgodnie z podanymi wskazówkami i poprzedni błąd znikł a pojawił się kolejny?


--------------------
Szanuj innych czas! Kliknij , gdy pomocną wskazówkę otrzymasz.
Go to the top of the page
+Quote Post
adeptofvoltron
post 4.05.2014, 19:05:32
Post #8





Grupa: Zarejestrowani
Postów: 51
Pomógł: 2
Dołączył: 4.09.2013

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


daj caly kod parafrazując przedmowcę biggrin.gif

A wtrącam się bo jedno spostrzeżenie.

htmlspecialchars służy bardziej escapowaniu znaczników html przed ich wyświetleniem na stronie.

w zapytaniu do bazy danych powinieneś użyć mysql_real_escape_string


p.s. Wam też coś php.net się sypie?

Ten post edytował adeptofvoltron 4.05.2014, 19:07:21
Go to the top of the page
+Quote Post
Azonic
post 4.05.2014, 22:53:16
Post #9





Grupa: Zarejestrowani
Postów: 26
Pomógł: 0
Dołączył: 19.04.2014

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


W temacie nie zaaktualizowałem ale w skyrpcie tak wrzucał cały:

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





Grupa: Zarejestrowani
Postów: 594
Pomógł: 122
Dołączył: 17.07.2005
Skąd: P-na

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


Przecież pisali Ci chłopaki, średnik po tym
  1. $_SESSION['zalogowany']=0
Go to the top of the page
+Quote Post
Azonic
post 5.05.2014, 03:22:38
Post #11





Grupa: Zarejestrowani
Postów: 26
Pomógł: 0
Dołączył: 19.04.2014

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


Dzięki uporałem się.
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: 25.07.2025 - 07:56