Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Logowanie == Błąd
ano
post
Post #1





Grupa: Zarejestrowani
Postów: 435
Pomógł: 40
Dołączył: 16.02.2003
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


Mam taki kod do systemu logowania:
[php:1:5cf70c83a8]
<?
if (($step=="2"))
{

if (file_exists("users/$login.txt"))
{

$plik = file("users/$login.txt");

$podziell = explode("||", $plik);


if (($passwrd==$podziell[1]))
{

$passwrd=md5('$pass');

setcookie("zalogowany", "$podziell[0]||$podziell[1]||$podziell[2]||$podziell[3]||$podziell[4]", time()+3600*3);
}
}
}
?>
<html>
<body>
<?
if (($step=="2"))
{

if (file_exists("users/$login.txt"))
{

$plikk = file("users/$login.txt");

$podziell = explode("||", $plikk);

if (($passwrd==$podziell[1]))
{


$passwrd=md5('$pass');

echo"Zostałeś zalogowany!<br>$zalogowany";
}

else { echo"Podałeś błędne dane!"; }

}
else { echo"Podałeś błędne dane!"; }
}
else {
?>
<b>Logowanie</b>
<hr color="gray" size="1">
<br><center>
<form action="" method="get">
<input type="hidden" name="step" value="2">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td width="19%" valign="top">
Login:<br>
Hasło:<br></td>
<td width="81%" valign="top">
<input type="normal" name="login"><br>
<input type="password" name="pass">
</td>
</tr></table>
<br><input type="submit" value="Zaloguj się">&&&<input type="reset" value="Kasuj dane z formularza"></center><br>
<a href="register.php"><small>Nie masz jeszcze konta w Ano php?(IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) Zarejestruj się!!!</small></a>
<?
}
?>
</body>
</html>
[/php:1:5cf70c83a8]
Po uruchomieniu tego skrypty zawsze pokazuje się text: Podałeś błędne dane!
Mimo, że NA PEWNO podaje prawidłowe dane!
Kiedy nie ma procedury zapisu do cookie, to wszystko działa ok!
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 9)
spenalzo
post
Post #2





Grupa: Zarejestrowani
Postów: 2 064
Pomógł: 1
Dołączył: 22.01.2003
Skąd: Poznań

Ostrzeżenie: (0%)
-----


Cytat
Po uruchomieniu tego skrypty zawsze pokazuje się text: Podałeś błędne dane!
Mimo, że NA PEWNO podaje prawidłowe dane!
Kiedy nie ma procedury zapisu do cookie, to wszystko działa ok!

Nie za bardzo mogę się połapać w tym kodzie, ale może dlatego nie działa, że cookie można dopiero odczytać po przeładowaniu strony?
Go to the top of the page
+Quote Post
em1X
post
Post #3





Grupa: Zarejestrowani
Postów: 984
Pomógł: 41
Dołączył: 16.03.2002
Skąd: Płock

Ostrzeżenie: (0%)
-----


no skoro sie robi:

[php:1:d4e82945e1]
$passwrd=md5('$pass');
[/php:1:d4e82945e1]

to wiadomo ze nie zadziala ' ' nie kompiluje kodu
ma byc albo md5($pass) albo md5("$pass")
jedno i drugie to samo
Go to the top of the page
+Quote Post
ano
post
Post #4





Grupa: Zarejestrowani
Postów: 435
Pomógł: 40
Dołączył: 16.02.2003
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


E tam.
I tak, i tak zawsze się pokazuje text "Podałeś błędne dane".
Go to the top of the page
+Quote Post
spenalzo
post
Post #5





Grupa: Zarejestrowani
Postów: 2 064
Pomógł: 1
Dołączył: 22.01.2003
Skąd: Poznań

Ostrzeżenie: (0%)
-----


najlepiej rozdziel sobie "podałeś błędne dane" i zamień to dotyczące pliku na "brak użytkownika" i napisz co wtedy się pokazało.
Go to the top of the page
+Quote Post
em1X
post
Post #6





Grupa: Zarejestrowani
Postów: 984
Pomógł: 41
Dołączył: 16.03.2002
Skąd: Płock

Ostrzeżenie: (0%)
-----


Cytat
E tam.
I tak, i tak zawsze się pokazuje text "Podałeś błędne dane".


bo ten skrypt jest bez sensowny na pierwszy rzut oka (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)
za duzo niepotrzebnych IF'uf
Go to the top of the page
+Quote Post
ano
post
Post #7





Grupa: Zarejestrowani
Postów: 435
Pomógł: 40
Dołączył: 16.02.2003
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


jak mówisz, że ten skrypt jest bezsensowny,to napisz mi jak go można zmienić.
Go to the top of the page
+Quote Post
Cudi
post
Post #8


Administrator planeta/IRC


Grupa: Przyjaciele php.pl
Postów: 385
Pomógł: 0
Dołączył: 19.04.2003
Skąd: Zabrze

Ostrzeżenie: (0%)
-----


Po pierwsze, po co trzymać informacje o każdym userze w osobnym pliku? Nie lepiej trzymać ich w jednym pliku, linijka dla każdego? (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Pozatym po co zapisywać wszystkie dane o userze do ciacha, przecierz nam wystarczy numerek lini w której te dane się znajdują. Aaa, i po trzecie, najlepiej zaraz po logowaniu przenieść usera na inną strone, po cookie będzie widoczne na stronie z logowaniem dopiero po odświeżeniu...
To teraz kawałek kodu (z jakiegoś mojego starego skrypciocha):
[php:1:13f8998e53]<?php
function CheckPass(){
global $_POST;

$users = file('users.dat');

foreach($users as $id => $user){
$u = explode('|+|'. $user);

if($u[0] == $_POST['login'] && $u[1] == md5($_POST['pass'])){
return $id;
}
}
return false;
}

if(isset($_POST)){
$error = empty($_POST['login']) ? 'Podaj login<BR>'."n" : '';
$error .= empty($_POST['pass']) ? 'Podaj hasło<BR>'."n" : '';

if(empty($error)){
if($id = CheckPass()){
setcookie('id', $id);
header('location: admin.php');
}
else{
$error .= 'Nieprawidłowy login lub hasło!';
}
}
}
?>[/php:1:13f8998e53]

Struktura pliku users.dat wygląda tak:

Kod
login|+|pass|+|co tam chcesz|+|i co jeszcze chcesz|+|itd.|+|


Błędy można wyświetlić np. tak:

[php:1:13f8998e53]<?php echo empty($error) ? 'Podaj login i hasło' : $error ?>[/php:1:13f8998e53]
Go to the top of the page
+Quote Post
ano
post
Post #9





Grupa: Zarejestrowani
Postów: 435
Pomógł: 40
Dołączył: 16.02.2003
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


Musi być tak jak napisałem, dlatego, że to ma być system logujący na stronę www
Go to the top of the page
+Quote Post
scanner
post
Post #10





Grupa: Zarząd
Postów: 3 503
Pomógł: 28
Dołączył: 17.10.2002
Skąd: Wrocław




ano - sprecyzuj wyp[owiedź. Chcesz pomocy? Skoro ktoś Ci daje gotowca, to skorzystaj - rozwiązanie z jednym plikiem jest dobre, gdyż ułatwi Ci w przyszłości ewentualny przeskok z plików do bazy danych.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 20.12.2025 - 10:05