Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[PHP] Ubogi, ale własny system logowania - nie działa

Ostatnio zmodyfikowano 2013-05-15 08:06
Autor Wiadomość
Kopczak1995
Temat założony przez niniejszego użytkownika
[PHP] Ubogi, ale własny system logowania - nie działa
» 2013-05-14 21:44:51
Witam od razu zarzucę kod i już wyjaśniam co mi nie gra:

<?php
ini_set('display_errors', 1);
error_reporting (E_ALL & `E_NOTICE);

$login=$_POST["login"];
$haslo=$_POST["haslo"];

$Lista_login = file('dane/lista_loginy.txt');
$Lista_haslo = file('dane/lista_hasla.txt');

$bool_login=false;
$bool_haslo=false;

for($n=count($Lista_login)-1;$n>=0;$n--)
{
if(strstr($bool_login[$n-1],$login)==1)
{$bool_login=true;}
}
for($n=count($Lista_haslo)-1;$n>=0;$n--)
{
if(strstr($Lista_haslo[$n-1],$haslo)==1)
{$bool_haslo=true;}
}

if ($bool_haslo=true and $bool_login=true)
{
//header('Location: http://www.lekcje-php.ugu.pl/magiczna_stronka.php');
}
else if ($bool_haslo=false or $bool_login=false)
{
print"Błędne hasło lub nazwa użytkownika! Zostaniesz przekierowany na stronę główną.";
print"Jeżeli nie chce Ci się czekać kliknij <a href=\"index.php\">/>tutaj.</a>";
header("Refresh: 5; url=http://www.lekcje-php.ugu.pl/index.php");
}
?>
Otóż na stronce głównej mam formularz, w którym wpisuję login i hasło po czym dzięki temu: action="przekierowanie.php" przerzuca mnie na obecną stronkę, która ma sprawdzić czy poprawnie wpisano (przegląda pliki tekstowe w poszukiwaniu loginu i hasła) i przekazać dalej bądź w razie złego wpisania wysłać z powrotem na stronę główną.

Niestety coś skopałem i nie wiem co, bo nie działa tak jak należy :P Ponadto gdy dodałem obsługę błędów to mi krzyczy:
Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /virtual/l/e/lekcje-php.ugu.pl/przekierowanie.php on line 58
Proszę o pomoc, bo chyba zaraz się zastrzelę :D

BTW: Śmiesznie te dolary wyglądają umieszczone w znacznikach [cpp] :P
P-82959
MrPoxipol
» 2013-05-14 21:54:37
<<removed by MrPoxipol :)>>

PS Ambitne hasło i login :D Do przetrzymywania haseł i loginów używaj bazy danych, albo chociaż nadaj chmod ;)

@down
Zobacz na linie nr 58 i pokaż co tam masz.
P-82960
Kopczak1995
Temat założony przez niniejszego użytkownika
» 2013-05-14 21:56:47
A co już sprawdzałeś? Tak wiem Administrator -> admin1 :P ale to dla zgrywu zrobiłem, bo i tak tam nic nie ma :D

A co do tego co mówisz. Czy to aby się nie zmniejsza po zakończeniu pętli?

To tam mam:
$login=$_POST["login"];

@Down Może i to jest źle, ale mi błąd wywala już wcześniej :/
@Down2 Już próbowałem i nic nie dało... Dalej w tej chorej lini 58 mi wywala...

//Burza mózgów, a to coś dalej nie działa :P
P-82961
MrPoxipol
» 2013-05-14 21:59:49
@up
Nie
"login"
 tylko
'login'
 :P

Yyy, przed chwilą działało :o

/edit:
Pozmieniaj na
'login'
 i
'haslo'
.

@down
Zrób może tak jak wcześniej mówiłem(to co usunąłem).
P-82962
Kopczak1995
Temat założony przez niniejszego użytkownika
» 2013-05-14 22:08:10
Czy wy mi co chwilę na stronę wchodzicie?!

I nie działało, bo sprawdzałem coś. Wywaliłem na chwilę obsługę błędów, nie krzyczał mi o lini 58, ale z kolei bzdury wpisałem i chciało mnie zalogować -.-

@Up Done... Pozmieniałem, nic nie zmieniło :P Poza nowym szlaczkiem:
Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /virtual/l/e/lekcje-php.ugu.pl/przekierowanie.php on line 58

@Down Nom... Mój błąd :D Zaraz poprawiam :)

Dobra, w obecnym momencie mam tak:
<?php
ini_set('display_errors', 1);
error_reporting (E_ALL & ~E_NOTICE);

$login=$_POST['login'];
$haslo=$_POST['haslo'];

$Lista_login = file('dane/lista_loginy.txt');
$Lista_haslo = file('dane/lista_hasla.txt');

$bool_login=false;
$bool_haslo=false;

for($n=count($Lista_login);$n>=0;$n--)
{
if(strstr($Lista_login[$n],$login)==1)
{$bool_login=true;}
}
for($n=count($Lista_haslo);$n>=0;$n--)
{
if(strstr($Lista_haslo[$n],$haslo)==1)
{$bool_haslo=true;}
}

if ($bool_haslo=true and $bool_login=true)
{
echo "Przekierowanie!!!";
//header('Location: http://www.lekcje-php.ugu.pl/magiczna_stronka.php');
}
elseif ($bool_haslo=false or $bool_login=false)
{
print"Błędne hasło lub nazwa użytkownika! Zostaniesz przekierowany na stronę główną.";
print"Jeżeli nie chce Ci się czekać kliknij <a href=\"index.php\">tutaj.</a>";
header("Refresh: 5; url=http://www.lekcje-php.ugu.pl/index.php");
}
?>
Dalej nie działa prawidłowo... Tym razem jednak coś mam nie tak z wyszukiwaniem hasła i loginu chyba...

//Edit Wrzuciłem kolejną wersję z poprawkami tutaj
P-82965
xevuel
» 2013-05-14 22:10:05
error_reporting (E_ALL & `E_NOTICE);
Rozumiem, że ten gravis to literówka, chciałeś wpisać tyldę, prawda?
P-82966
MrPoxipol
» 2013-05-14 22:18:10
Zrób może tak jak wcześniej napisałem(to co usunięte), chyba pamiętasz jeszcze. ;) Nie mam za bardzo jak tego sprawdzić na swoim serwerze(ze kilkoma zmianami skryptu), pewnie gdyby była 14 to prędzej.

@down
strstr($bool_login[$n-1],$login)
na
strstr($bool_login[$n],$login)
 
i tak samo z hasłem.
P-82967
Kopczak1995
Temat założony przez niniejszego użytkownika
» 2013-05-14 22:20:33
Eeee... A co pisałeś? :D Jakoś wypadło mi z głowy :P

U góry zmieniłem kod. Dalej coś skopane :(

//Edit Nie opuszczajcie mnie... Tu człowiek cierpi przez pehapa... (I przez swoją niekompetencję zapewne też)
P-82968
« 1 » 2
  Strona 1 z 2 Następna strona