Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php]Kochane sesie
Forum PHP.pl > Forum > Przedszkole
redelek
Witam,
Mam taki mały problemik. Zrobiłem sobie proste uwierzytelnianie na mysql , ale jest mały myk.
Kod wygląda tak

  1. <?php 
  2.  
  3. $login=$_POST['login'];
  4. if(isset($login)) {
  5.  
  6. $f_username=$_POST['f_username'];
  7. $f_password=$_POST['f_password'];
  8.  
  9. include('db.php');
  10. $zapytanie = mysql_query("SELECT * FROM admins WHERE username='$f_username' AND password='$f_password'");
  11. if(mysql_num_rows($zapytanie) > 0) {
  12. $_SESSION['zalogowany'] = $f_username;
  13. //header("Location: admin.php");
  14. header("Location: admin.php");
  15. } else {
  16. //echo "Podales zle dane";
  17. header("Location: error.php");
  18. }
  19. }
  20.  
  21. ?>


Niestety jak toś wpisze localhost/pass-db/index.php
To pyta się o login i jak go nie wpiszesz to nie wpuszcza. Niestety jak ktoś jest sprytny i zrobi localhost/pass-db/admin.php to go wpuszcza. Czy do tej stronki admin.php muszę coś dopisać, żeby sprawdzał czytam o session_id, ale coś mi nie idzie.
  1. <?php
  2. if ($_SESSION['zalogowany']='zalogowany'){
  3.  
  4. echo "siemka";
  5.  
  6. }
  7. else{
  8.  
  9. echo "spadaj";
  10. }
  11. ?>

ale tak nie chce . Może ktoś mi pomóc ?

dzięki
Redelek
singles
  1. <?php 
  2.  
  3. $login=$_POST['login'];
  4. if(isset($login)) {
  5.  
  6. $f_username=$_POST['f_username'];
  7. $f_password=$_POST['f_password'];
  8.  
  9. include('db.php');
  10. $zapytanie = mysql_query("SELECT * FROM admins WHERE username='$f_username' AND password='$f_password' ");
  11. if(mysql_num_rows($zapytanie) > 0) {
  12. $_SESSION['zalogowany'] = true;
  13. //header("Location: admin.php");
  14. header("Location: admin.php");
  15. } else {
  16. //echo "Podales zle dane";
  17. header("Location: error.php");
  18. }
  19. }
  20.  
  21. ?>


  1. <?php
  2. if ($_SESSION['zalogowany'] == true){
  3.  
  4. echo "siemka";
  5.  
  6. }
  7. else{
  8.  
  9. echo "spadaj";
  10. }
  11. ?>


Tak powinno zadzialac.

W pierwszym poscie przypisywałeś do zmiennej sesji nazwę usera, ale skąd drugi plik ma wiedzieć jaka ona jest ? Zamiast true możesz pisać 'ok', 'zalogowany' czy inne słowo.

A 3 linijka w drugim skrypcie musi miec "==" a nie "=" - to nie przypisanie wartości, ale porównanie.
redelek
Cytat(singles @ 31.07.2007, 15:15:21 ) *
?>[/php]

  1. <?php
  2. if ($_SESSION['zalogowany'] == true){
  3.  
  4. echo "siemka";
  5.  
  6. }
  7. else{
  8.  
  9. echo "spadaj";
  10. }
  11. ?>


Tak powinno zadzialac.

W pierwszym poscie przypisywałeś do zmiennej sesji nazwę usera, ale skąd drugi plik ma wiedzieć jaka ona jest ? Zamiast true możesz pisać 'ok', 'zalogowany' czy inne słowo.

A 3 linijka w drugim skrypcie musi miec "==" a nie "=" - to nie przypisanie wartości, ale porównanie.


DZIĘKI DZIAŁA DZIALA o to mi chodziło smile.gif no byłem blisko ale tego == true mi brakowało smile.gif

DZIĘKI
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.