Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> System logowania
blurblade
post
Post #1





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 15.11.2016

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


Czesc,
mam system logowania na stronie, który po zalogowaniu przenosi mnie do innego pliku .php, natomiast chcialbym, aby uzytkownik pozostawal na stronie index.php i wraz z zalogowaniem byla mozliwosc zobaczyc wiecej rzeczy na tej stronie index.php

I druga rzecz to jest, że gdy po podaniu blednego emailu(loginu) i hasla wysiwetla sie komunikat "Nieprawidłowy login lub hasło!" tak jak powinien, lecz niestety po odwiezeniu strony itd, dalej on jest ;/


INDEX.PHP
  1. ?php
  2.  
  3. session_start();
  4.  
  5. if ((isset($_SESSION['zalogowany'])) && ($_SESSION['zalogowany']==true))
  6. {header('Location: gra.php');
  7. exit();
  8. }
  9.  
  10. ?>
  11. <!DOCTYPE html>
  12. <html lang="pl">
  13. <head>
  14. <title>BLURBLADE</title>
  15. <meta charset="UTF-8"/>
  16. <meta http-equiv="X-UA-Compatibile" content="IE=edge,chrome=1"/>
  17. <script src="http://code.jquery.com/jquery-1.7.1.min.js"></script>
  18. <link rel="stylesheet" type="text/css" href="index.css"/>
  19. <link href="https://fonts.googleapis.com/css?family=Open+Sans+Condensed:300" rel="stylesheet">
  20. <link href="https://fonts.googleapis.com/css?family=Archivo+Narrow" rel="stylesheet">
  21. <link href="https://fonts.googleapis.com/css?family=Ubuntu" rel="stylesheet">
  22. </head>
  23.  
  24. <body>
  25.  
  26. <div id="content">
  27. <?php
  28. require_once('top.php');
  29. ?>
  30. </div>
  31.  
  32.  
  33. <?php
  34.  
  35. if(isset($_SESSION['blad'])) echo $_SESSION['blad'];
  36.  
  37. ?>
  38. </body>
  39. </html>


LOGIN.PHP
  1. <?php
  2.  
  3. if((!isset($_POST['login'])) || (!isset($_POST['haslo'])))
  4. {
  5. header('Location: index.php');
  6. exit();
  7. }
  8.  
  9. require_once "connect.php";
  10.  
  11. $polaczenie = @new mysqli($host, $db_user, $db_password, $db_name);
  12.  
  13. if($polaczenie->connect_errno!=0)
  14. {
  15. echo "Error:".$polaczenie->connect_errno;
  16. }
  17. else
  18. {
  19. $login = $_POST['login'];
  20. $haslo = $_POST['haslo'];
  21.  
  22. $login = htmlentities($login, ENT_QUOTES, "UTF-8");
  23. $haslo = htmlentities($haslo, ENT_QUOTES, "UTF-8");
  24.  
  25.  
  26. if($rezultat = @$polaczenie->query(
  27. sprintf("SELECT * FROM users WHERE email = '%s' AND haslo ='%s'",
  28. mysqli_real_escape_string($polaczenie,$login),
  29. mysqli_real_escape_string($polaczenie,$haslo))))
  30.  
  31. {
  32. $ilu_userow = $rezultat->num_rows;
  33. if($ilu_userow>0)
  34. {
  35. $_SESSION['zalogowany'] = true;
  36. $wiersz = $rezultat->fetch_assoc();
  37. $_SESSION['id'] = $wiersz['id'];
  38. $_SESSION['email'] = $wiersz['email'];
  39. $_SESSION['user'] = $wiersz['user'];
  40.  
  41.  
  42. unset($_SESSION['blad']);
  43. $rezultat->close();
  44. header('Location: index.php');
  45. }
  46. else
  47. {
  48. $_SESSION['blad'] = '<span style="color:red">Nieprawidłowy login lub hasło!</span>';
  49. header('Location:index.php');
  50. }
  51. }
  52.  
  53. $polaczenie->close();
  54. }
  55.  
  56.  
  57. ?>

Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
emstawicki
post
Post #2





Grupa: Zarejestrowani
Postów: 207
Pomógł: 40
Dołączył: 2.06.2016
Skąd: Olsztyn

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


  1. if(isset($_SESSION['blad'])) echo $_SESSION['blad'];

1. Plik index.php na samym początku sprawdza czy jesteś zalogowany, jeżeli tak wysyłasz nagłówek, który przekierowuje do innego pliku. Dokładnie ten fragment:
  1. if ((isset($_SESSION['zalogowany'])) && ($_SESSION['zalogowany']==true))
  2. {header('Location: gra.php');
  3. exit();
  4. }

Musisz zedytować ten fragment na swoje potrzeby.
2. wyświetla zawartość sesji blad (samo ma się domyślać czy może usunąć tę sesję po wyświetleniu?). Działa tak jak zaplanowałeś czyli usuwa zmienną sesyjną z błędem po poprawnym logowaniu.
najprościej:
  1. if(isset($_SESSION['blad']))
  2. {
  3. echo $_SESSION['blad']; //zastanów się czy nie chcesz zabezpieczyć rzeczy wyświetlanych z sesji
  4. unset($_SESSION['blad']);
  5. }


Ten post edytował emstawicki 16.11.2016, 08:43:43
Go to the top of the page
+Quote Post
blurblade
post
Post #3





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 15.11.2016

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


Próbowałem to edytować, ale nie wychodzi ;x;

  1. <?php
  2.  
  3.  
  4. if ((isset($_SESSION['zalogowany'])) && ($_SESSION['zalogowany']==true))
  5. {
  6. header('Location: gra.php');
  7. exit();
  8. }
  9.  
  10. ?>


i jeszcze jedno pytanie, bardziej już o css/html, jak na tym komunikacie o niepoprawnym logowaniu zastosowac np. diva? w sęsie zeby go umiescic pomiedzy innymi czy cos ;x bo chcialbym zeby pokazywal mi sie w oknie logowania a pokazuje sie gdziies w srodku storny
Go to the top of the page
+Quote Post
nospor
post
Post #4





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Probowales to edytowac na co?

Skoro nie chcesz by cie przenosilo do gra.php to poprostu wywal ten caly IF
Go to the top of the page
+Quote Post
DoxPL
post
Post #5





Grupa: Zarejestrowani
Postów: 7
Pomógł: 2
Dołączył: 23.07.2016
Skąd: łodzkie

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


Jeśli dobrze zrozumiałem Twoje pytanie z pierwszego posta, to możesz zrobić coś takiego:
  1. <?php
  2. if(!isset($_SESSION['zalogowany']))
  3. {
  4. //tu wyświetl formularz logowania
  5. }
  6. else
  7. {
  8. //pokaż ukrytą treść
  9. }
  10. ?>
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: 22.08.2025 - 18:10