ďťż

[PHP] logowanie oparte na *.txt

       

Podstrony


telcocafe

Siemka pisze sobie skrypt logowania i mam problem bo mi albo wyskakuje komunikat ze zly login i haslo albo non stop mnie loguje nawet jesli nie ma loginu i hasla zapisanego
// kod logowania sie w funkcja zapisany function sprawdz(){ $login=$_POST['login']; $haslo=$_POST['haslo']; if(!(file_exists("login.txt"))){ echo"<b class='linia'>bledne dane!</b>"; }else if(file_exists("login.txt")){ if($login==$login&&$haslo==$haslo){ echo"<b class='linia'>witaj</b>"; }else{ echo"<b class='linia'>Zle</b>"; } } }
// funkcja zapisu to pliku *.txt function save(){ $plik=fopen("login.txt","a"); if(!($plik)){ echo"<b class='menu'>Blad z baza</b>"; }else{ echo"<center>"; echo"<b class='linia'>Rejestracja zakonczona pomysle</b><br>"; echo"<meta HTTP-EQUIV='Refresh' CONTENT='2; URL=index.php?cos=loguj'>"; echo"<b class='linia'>Za 2s zostanie przeniesiony do dzialu logowania</b><br>"; echo"<a href='index.php?cos=loguj' class='akcja'>[ ZOBACZ ]</a>"; echo"</center>"; fputs($plik,$_POST['login']."\t"); fputs($plik,$_POST['haslo']."\t"); fputs($plik,$_POST['mail']."\t"); fputs($plik,$_POST['www']."\t"); fputs($plik,$_POST['gg_nr']."\n"); fclose($plik); } }
wiecie moze jak to zrobic zeby mi to logowalo tak jak chce :P czyli pobieralo login i haslo z pliku *.txt a gdy jest niepoprawne nie logowalo ?? Dziekuje z gory za pomoc
Użytkownik inf16 edytował ten post 07 grudzień 2007, 21:17


Co Ty robisz? Podstawy algorytmiki się kłaniają. Sprawdzasz coś takiego: czy prawda jest prawdą i dlatego Ciebie loguje za każdym razem. Poczytaj więcej o PHP bo marnie Ci to idzie, bo co sprawdzasz? Powinieneś to najpierw rozpakować do tablicy i później sprawdzić. Ech

Dzieki gosciu tego mi trzeba bylo....... nio i sobie napisalem wkoncu doszedlem jak :D
// kod logowania $user=$_POST['login']; $pass=$_POST['haslo']; if(file_exists("login.txt")){ $plik=fopen("login.txt","r"); while ($dane = fscanf($plik, "%s\t%s\t%s\t%s\n")) { list ($user,$pass) = $dane; if($user==$_POST['login']&&$pass==$_POST['haslo' ]){ r }else{ echo"<b class='linia'>Blad z baza</b>"; } } } }
Użytkownik inf16 edytował ten post 07 grudzień 2007, 23:46
$user=$_POST['login']; $pass=$_POST['haslo']; (...) if($user==$_POST['login']&&$pass==$_POST['haslo' ])
i to Ci niby działa?

@EDIT DOWN:
a tfu.. fakt, ślepy ja xD hehe :)
Użytkownik kutar edytował ten post 08 grudzień 2007, 16:12


Działa, bo używa list, a przypisanie na początku jest jednak niepotrzebne.

niepotrzebnie dajesz
$user=$_POST['login']; $pass=$_POST['haslo'];

poza tym lepiej byloby zrobic na plikach php, bo kazdy inteligentniejszy odczyta sobie te hasla.

przyklad
login.php: <?die();?> login haslo *** lub *** login.php $login = 'login'; $haslo = 'haslo'; i wtedy taki pliczek includujesz

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • nvm.keep.pl

  • Sitedesign by AltusUmbrae.