Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> sesje przy skrypcie logowania
Gitrix
post
Post #1





Grupa: Zarejestrowani
Postów: 49
Pomógł: 0
Dołączył: 17.10.2014

Ostrzeżenie: (10%)
X----


cfg.php
  1. <?php
  2. define('DB_HOST','***'); // Host bazy danych
  3. define('DB_USER','***'); // Nazwa użytkownika bazy danych
  4. define('DB_PASS','***'); // Hasło użytkownika bazy danych
  5. define('DB_DB','***'); // Nazwa bazy danych
  6.  
  7. $connect = mysql_connect(DB_HOST, DB_USER, DB_PASS);
  8. mysql_query('SET NAMES utf8');
  9. mysql_query('SET CHARACTER SET utf8');
  10. mysql_query('SET collation_connection = utf8_polish_ci');
  11.  
  12. mysql_select_db(DB_DB,$connect);
  13. ?>
  14. <?php
  15. $nick = $_SESSION['username'];
  16. $haslo = $_SESSION['password'];
  17.  
  18. $u = mysql_query("SELECT * FROM users WHERE nick='$nick' AND haslo='$haslo'") or die(mysql_error());
  19.  
  20. if($u['username'] && $u['password'])
  21. {
  22. $Loggged = true;
  23. }
  24. else
  25. {
  26. $Logged = False;
  27. }
  28. ?>

check.php
  1. <?php
  2. include "cfg.php";
  3. if($Logged)
  4. header('Location: edit.php');
  5. $nick = $_POST['username'];
  6. $haslo = $_POST['password'];
  7. if($nick && $haslo) {
  8. $sel = mysql_num_rows(mysql_query("SELECT * FROM users WHERE nick='$nick' AND haslo='$haslo'"));
  9. if($sel==0) {
  10. echo 'Takie konto nie istnieje, lub podano złe hasło.';
  11. }
  12. else {
  13. $_SESSION['username'] = $nick;
  14. $_SESSION['password'] = $haslo;
  15. echo 'Zalogowano pomyślnie <a href="edit.php">Powróć do strony głównej</a>';
  16. echo $nick;
  17. }
  18. }
  19. else {
  20. echo 'Musisz wypełnić wszystkie pola';
  21. }
  22.  
  23. ?>

edit.php
  1. <?php
  2. include "cfg.php" ;
  3. if ($Logged) {
  4. echo '<br>
  5. Zalogowano jako: <font color="red"><?php echo $_SESSION["user"]; ?></f
  6. <a href="wyloguj.php">Wyloguj</a>
  7. ';
  8. }
  9. ?>

admin.php
  1. <html>
  2. <head>
  3. <link rel="stylesheet" type="text/css" href="admin.css" />
  4. <title>Panel Admina</title>
  5. <META HTTP-EQUIV="content-type" CONTENT="text/html; charset=iso-8859-2">
  6. </head>
  7. <div id="panel">
  8. <form action="check.php" method="post">
  9. <label for="username">Nazwa użytkownika:</label>
  10. <input type="text" id="username" name="username">
  11. <label for="password">Hasło:</label>
  12. <input type="password" id="password" name="password">
  13. <div id="lower">
  14. <input type="submit" value="Login">
  15. </div>
  16. </form>
  17. </div>

problem polega na tym,ze plik edit.php nie jest zabezpieczony sesją,sesje nie przechodzą pomiedzy stronami.

Ten post edytował Gitrix 18.10.2014, 13:14:32
Go to the top of the page
+Quote Post
Wazniak96
post
Post #2





Grupa: Zarejestrowani
Postów: 550
Pomógł: 75
Dołączył: 5.06.2012
Skąd: Lębork

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


w pliku edit.php w ogóle nie otwierasz pliku cfg.php to skąd ma być w tym pliku sesja i zmienna $Logged. Zaś w pliku check.php przekierowujesz przeglądarkę do pliku edit.php...
Go to the top of the page
+Quote Post
Gitrix
post
Post #3





Grupa: Zarejestrowani
Postów: 49
Pomógł: 0
Dołączył: 17.10.2014

Ostrzeżenie: (10%)
X----


includowalem cfg i dalej nie dziala
Go to the top of the page
+Quote Post
Wazniak96
post
Post #4





Grupa: Zarejestrowani
Postów: 550
Pomógł: 75
Dołączył: 5.06.2012
Skąd: Lębork

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


1. Podmień linijkę 22 w pliku cfg.php na
  1. if(mysql_num_rows($u) > 0)
i skasuj linijkę 20.
2. Ale co Ci dokładnie nie działa? Nie jesteśmy wróżkami. Z kuli nie wiemy co się dzieje. Daj var_dump($_SESSION); i pokaż co wyświetli.
Go to the top of the page
+Quote Post
Gitrix
post
Post #5





Grupa: Zarejestrowani
Postów: 49
Pomógł: 0
Dołączył: 17.10.2014

Ostrzeżenie: (10%)
X----


array(2) { ["username"]=> string(6)
"Gitrix" ["password"]=> string(8)
"haslo" }

problem w tym,ze w pliku edit.php nie wyswietla sie ten komunikat
zalogowano jako.....
a jak skasuje if($logged) to w miejscu $_session user nic nie ma

po zmianie na username tez nic

Ten post edytował Gitrix 18.10.2014, 13:42:17
Go to the top of the page
+Quote Post
Wazniak96
post
Post #6





Grupa: Zarejestrowani
Postów: 550
Pomógł: 75
Dołączył: 5.06.2012
Skąd: Lębork

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


Jednak swój komp to swój.. Albo to ślepota (IMG:style_emoticons/default/smile.gif)

W pliku cfg.php masz literówkę. $Loggged = True azamiast $Logged = True (IMG:style_emoticons/default/smile.gif)
2. Sprawdź różnicę w moim a twoim kodzie (IMG:style_emoticons/default/smile.gif)
  1. <?php
  2. include "cfg.php" ;
  3. if ($Logged) {
  4. echo '<br>
  5. Zalogowano jako: <font color="red">'.$_SESSION["username"].'</f
  6. <a href="wyloguj.php">Wyloguj</a>
  7. ';
  8. }
Go to the top of the page
+Quote Post
Gitrix
post
Post #7





Grupa: Zarejestrowani
Postów: 49
Pomógł: 0
Dołączył: 17.10.2014

Ostrzeżenie: (10%)
X----


nie wierze (IMG:style_emoticons/default/biggrin.gif)
jedna literka mnie tak załatwiła.
dzięki (IMG:style_emoticons/default/biggrin.gif)
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 3.10.2025 - 23:11