![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 574 Pomógł: 2 Dołączył: 13.04.2004 Skąd: Lublin Ostrzeżenie: (0%) ![]() ![]() |
zaczolem bawic sie sesjami.
Gdy mam jednego uzytkownika, to wszystko jest elegancko i dziala. Z momentem wprowadzenia pliku z uzytkownikami Kod admin|*|haslo|
user1|*|user1_pass itp... zaczynaja sie schody [php:1:69203dfe2f]<?php session_start(); if( $_POST['akcja'] ) { $baza = file("users.db"); //tutaj cos nie gra for($a=0;$a<count($baza);$a++) { $linia = explode('|*|', $baza[$a]); if(($linia[0] == $_POST['login']) && ($linia[1] == $_POST['haslo'])) { $_SESSION['login'] = $_POST['login']; $_SESSION['pass'] = $_POST['haslo']; } break; } } // ....... if($_GET['akcja'] == 'logout') { session_destroy(); echo 'wylogowales sie'; print "<META HTTP-EQUIV='Refresh' CONTENT='0; URL=index.php'>"; } else { if(($_SESSION['login'] == 'admin') && ($_SESSION['pass'] == 'haslo')) { echo 'jestes zalogowany jako <b>'.$_SESSION['login'].'</b> ![]() echo '<a href=?akcja=dodaj>dodaj</a> | <a href=?akcja=logout>logout</a> | <a href=?akcja=download>download</a><br>'; if($_GET['akcja'] == 'dodaj') { echo '<br>panel dodawania nowych rzeczy<br>bleblebleble<br>khfiyusydofs'; } if($_GET['akcja'] == 'download') { include('manga.php'); } } else { echo 'podales zle dane albo probujesz obejsc logowanie<br>LOŁDING'; print "<META HTTP-EQUIV='Refresh' CONTENT='2; URL=index.php'>"; } } ?>[/php:1:69203dfe2f] niemoge sie zalogowac na zadnefo z uzytkownikow. wiecie moze co jest zle ? gdy chce dac dostep do zasobow zarejestrowanym uzytkownikom, to lepiej bawic sie plikami czy baza? Chodzi o to co jest latwiejsze i szybsze. -------------------- jQuery, JavaScript i CSS - porady, tutoriale
highlab.pl - blog o technologiach, nauce i programowaniu |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Przyjaciele php.pl Postów: 2 712 Pomógł: 23 Dołączył: 27.10.2003 Skąd: z kontowni Ostrzeżenie: (0%) ![]() ![]() |
[php:1:c2fe12171b]<?php
// jest for($a=0;$a<count($baza);$a++) { $linia = explode('|*|', $baza[$a]); if(($linia[0] == $_POST['login']) && ($linia[1] == $_POST['haslo'])) { $_SESSION['login'] = $_POST['login']; $_SESSION['pass'] = $_POST['haslo']; } break; } // kończysz fora po pierwszym przebiegu // powinno być for($a=0;$a<count($baza);$a++) { $linia = explode('|*|', $baza[$a]); if(($linia[0] == $_POST['login']) && ($linia[1] == $_POST['haslo'])) { $_SESSION['login'] = $_POST['login']; $_SESSION['pass'] = $_POST['haslo']; break; // kończysz fora tylko, jeśli login prawidłowy } } // ?>[/php:1:c2fe12171b] -------------------- "Coś się kończy, coś się zaczyna." Andrzej Sapkowski
|
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 405 Pomógł: 1 Dołączył: 19.09.2003 Skąd: Lublin Ostrzeżenie: (0%) ![]() ![]() |
[php:1:79e76092d5]<?php
for($a=0;$a<count($baza);$a++) { $linia = explode('|*|', $baza[$a]); if(($linia[0] == $_POST['login']) && ($linia[1] == $_POST['haslo'])) { $_SESSION['login'] = $_POST['login']; $_SESSION['pass'] = $_POST['haslo']; break; } } ?>[/php:1:79e76092d5] Zdaje się, że instrukcja break; jest nie w tym miejscu co trzeba. Przerywasz pętlę nie zależnie od tego czy warunek jest spełniony czy nie. Cytat lepiej bawic sie plikami czy baza? Chodzi o to co jest latwiejsze i szybsze.
Baza, baza i jeszcze raz baza. Szczerze mówiąc uważam, że pliki się do tego celu wcale nie nadają. W plikach musisz się męczyć i sprawdzać tak jak to robisz wyżej a w bazie wszystko można załatwić jednym zapytaniem. ps. przechowywanie haseł w otwartym tekście nie jest najbezpieczniejszym wyjściem -------------------- Rozwój cywilizacji informatycznej to wyścig między programistami, którzy wytwarzają coraz łatwiejsze
programy użytkowe dla idiotów, a światem produkującym coraz lepszych gatunkowo idiotów. Blog: Małolepszy.info |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 574 Pomógł: 2 Dołączył: 13.04.2004 Skąd: Lublin Ostrzeżenie: (0%) ![]() ![]() |
break; w IF'e tez nie dziala, dalej pojawia sie komunikat ze podalem zle dane.
Cytat ps. przechowywanie haseł w otwartym tekście nie jest najbezpieczniejszym wyjściem
dlatego sie narazie bawie. Jak przyjdzie co do czego bedzie md5, i baza. -------------------- jQuery, JavaScript i CSS - porady, tutoriale
highlab.pl - blog o technologiach, nauce i programowaniu |
|
|
![]()
Post
#5
|
|
![]() Grupa: Przyjaciele php.pl Postów: 2 712 Pomógł: 23 Dołączył: 27.10.2003 Skąd: z kontowni Ostrzeżenie: (0%) ![]() ![]() |
Wyprintuj sobie w tym ifie login i haslo i zobacz co jest nie tak.
-------------------- "Coś się kończy, coś się zaczyna." Andrzej Sapkowski
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 06:05 |