Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Skrypt logowania - awaria
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','mysql.cba.pl'); // 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','s...'); // 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_general_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(mysql_num_rows($r) > 0)
  21. {
  22. $Logged = true;
  23. }
  24. else
  25. {
  26. $Logged = false;
  27. }
  28. ?>

check.php
  1. <?php
  2. include "cfg.php";
  3. if($Logged)
  4.  
  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="index.php">Powróć do strony głównej</a>';
  16. echo $nick;
  17. }
  18. }
  19. else {
  20. echo 'Musisz wypełnić wszystkie pola';
  21. }
  22.  
  23. ?>

index.php
  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. }
  9. else
  10. {
  11. echo '<img src="img/ele.png">
  12. <div class="panelo">
  13. Username: '.$_SESSION["username"].'<br>
  14. Rank:<br>
  15. Premissions:<br>
  16. <a href="#">Logout</a></a>
  17. </div>
  18. </div>';
  19. }
  20. echo "$Logged";
  21. ?>


W index.php troche namieszałem, ale zauważyłem, że jestem zalogowany, a pomimo tego zwraca mi else, w którym ewidentnie wyświetla nick. Zmienna logged jest pusta, nic nie wyświetla. Sprawdzałem na var dumb - wszystko jest okej. O co może chodzić?

Ten post edytował Gitrix 23.04.2016, 11:51:08
Go to the top of the page
+Quote Post
Pyton_000
post
Post #2





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

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


ale o co chodzi?
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----


Widzisz index.php?

Pokazuje mi, że jestem niezalogowany, czyli zwraca else.
Go to the top of the page
+Quote Post
com
post
Post #4





Grupa: Zarejestrowani
Postów: 3 034
Pomógł: 366
Dołączył: 24.05.2012

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


zrób to na sesji (IMG:style_emoticons/default/wink.gif)
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----


Pomoże ktoś w końcu, czy będziecie sobie robić jaja z tematu?
Go to the top of the page
+Quote Post
rad11
post
Post #6





Grupa: Zarejestrowani
Postów: 1 270
Pomógł: 184
Dołączył: 7.10.2012
Skąd: Warszawa

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


Przecież dostałeś odpowiedź zrób to na sesji czyli dodaj do sesji klucz logged => wartosc i według tej wartości sprawdzaj zalogowanie w index
Go to the top of the page
+Quote Post
Tomplus
post
Post #7





Grupa: Zarejestrowani
Postów: 1 884
Pomógł: 231
Dołączył: 20.03.2005
Skąd: Będzin

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


1. var_dumP
2. po co dwa razy wpisujesz session_start()? Albo umieszczasz w index.php lub check.php albo tylko zostawiasz w cfg.php
3. jeżeli $Logged oznacza zalogowany, to dlaczego po else masz znowu jakąś treść jakby użytkownik nadal był zalogowny.
4. hasła nie przesyła się w sesji, ani już nie mówiąc że skrypt podatny jest na sql injection
5. jak wylogowujesz się to to powinieneś wyczyści sesje, a na pewno sejse danych uzytkownika i hasło.
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: 2.10.2025 - 17:20