Problem z pętlą while

Wszystko o językach skryptowych takich jak PHP i Perl, serwerach WWW, CGI, bazach danych i języku SQL.
jery0000
Posty: 6
Rejestracja: 06 sie 2014, 20:54:43
Płeć: Niewybrana
User Agent: Chrome Windows

Problem z pętlą while

Post autor: jery0000 »

Jestem początkującym programistą który zamierza nauczyć się programowania php. Chciałem napisać prosty skrypt rejestracji i logowania opierający się o plik txt w którym będą zapisane linijki tekstu z poszczególnymi mailami i hasłami podzielonymi dwukropkiem. Niestety pętla while (w pliku php który odpowiada za sprawdzenie czy podany przez użytkownika e-mail i hasło istnieje) która ma za zadanie czytanie kolejnych linijek i porównywane ich z wartościami podanymi przez użytkownika aż do chwili skończenia się pliku nie działa tak jak powinna. Problem polega na tym że jest tak jakby pomijana przez kompilator (wstawiałem zamiast while(!feof($plik)) komendę if(!feof($plik)) która działała poprawnie oraz for($i=0;$i<10;i++) która również została pominięta tak samo jak while) Oto napisany przeze mnie kod:

Kod: Zaznacz cały

<?php
function szukaj($a,$b){
$plik = fopen('rejestr.txt','r');
$data[0]=$a;
$data[1]=$b;
$zad=implode(":",$data);
while(!feof($plik))
{
      $linia = trim(fgets($plik));
      if(strcmp($zad,$linia)==0)
{
fclose('rejestr.txt');
header('Location:dobrze.html');
continue;
}  
}
fclose('rejestr.txt');
header('Location:zle.html');
}

$email=$_GET['login'];
$pass=$_GET['haslo'];

szukaj($email,$pass);
?>
Proszę o pomoc i wyjaśnienie mi gdzie popełniłem błąd.
4zywioly
Posty: 528
Rejestracja: 26 kwie 2011, 16:33:42
Strona na CBA.pl: 4zywioly.c0.pl
Płeć: Niewybrana
User Agent: Chrome Windows 1366x768
Kontakt:

Re: Problem z pętlą while

Post autor: 4zywioly »

Zamiast continue daj exit.

Ponadto sugeruję Ci trzymanie danych użytkowników w bazie danych z zaszyfrowanymi hasłami.

Pozdrawiam :)
jery0000
Posty: 6
Rejestracja: 06 sie 2014, 20:54:43
Płeć: Niewybrana
User Agent: Chrome Windows

Re: Problem z pętlą while

Post autor: jery0000 »

Bardzo dziękuje za pomoc
ODPOWIEDZ