Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

[Problem] Logowanie


Rekomendowane odpowiedzi

Opublikowano

Witam, napisałem sobie skrypt na rejestracje i logowanie (inne też ale chodzi o te) przy rejestracji dodaje mnie normalnie do bazy danych, ale jak chcę się zalogować to wyskakuje błąd że konto nie instnieje lub ma bana. Gdzie jest błąd? Oto kod:

<?php

if (!empty($_POST)){

        if (!empty($_POST['username']) && !empty($_POST['pass'])){

                $_POST['username'] = vtxt($_POST['username']);

                $_POST['pass'] = vtxt($_POST['pass']);

                $username = $_POST['username'];

                $pass = $_POST['pass'];

                $pass = md5($pass);

                if (ctype_alnum($username)){

                        $username = md5($username);

                        $zapytanie = row("SELECT * FROM gracze WHERE login='$username' AND pass='$pass' AND ban='0'");

                        if ($zapytanie){

                                $_SESSION['id'] = $zapytanie['id'];

                                header('Location: index.php?a=stats');

                        } else echo 'Taki gracz nie istnieje lub został zbanowany.';

                } else echo 'Niepoprawna nazwa użytkownika.';

        } else {

                echo 'Wypełnij wszystkie pola poprawnie.';

        }

}

?>

<form action="index.php?a=login" method="POST">

        <table>

                <tr>

                        <td>Login użytkownika:</td>

                        <td><input type='text' name='username'/></td>

                </tr>

                <tr>

                        <td>Hasło:</td>

                        <td><input type='password' name='pass'/></td>

                </tr>

                <tr>

                        <td></td>

                        <td><center><input type='submit' style="width: 100px" value='Zaloguj się'/></center></td>

                </tr>

        </table>

</form>

<?php

ob_end_flush();

?>

 

 

  • Odpowiedzi 62
  • Dodano
  • Ostatniej odpowiedzi
Opublikowano

$username = md5($username); to ma jakiś głębszy sens?

pasek_4oo_6o.jpg

Aktualny poziom zła: 75 punktów ostrzeżeń.
Achievements:
  • 22 zajebiste posty oznaczone czerwonym kółeczkiem
  • 1 urażony modek - dwa razy! (Istny Diabeł)
  • 4365 userów forum, którym powiedziałem smutną prawdę
Opublikowano

 

$username = md5($username);
$zapytanie = row("SELECT * FROM gracze WHERE login='$username' AND pass='$pass' AND ban='0'");


Jesteś pewny, że nawet loginy chcesz hashować? Chyba w md5 powinno być hasło zhashowane :)

O błędach w C++ powie Ci kompilator, a o błędach w PHP klient..

 

Opublikowano

@galaxy, tak, robi, bo niby jak przy logowaniu gracz może wpisać swój login jak jest zakodowany?

Chyba że używasz jakiegoś innego 'parametru' do logowania.

Opublikowano

Podaj nam screenshot z bazy to zobaczymy czy ty hashujesz login i hasło czy same hasło czy sam login, bo chyba sam nie wiesz 8S

O błędach w C++ powie Ci kompilator, a o błędach w PHP klient..

 

Opublikowano

Widzę świetlaną przyszłość tego projektu. Aż dziwne, że ludzie się jeszcze nie zabijają, żeby do teamu dołączyć.

 

Wziął byś galaxy poczytał trochę książek i przyswoił PODSTAWOWEJ wiedzy zamiast klikać na ślepo kopiuj/wklej z tutoriali. Próbujesz robić coś, czego nawet do końca nie rozumiesz.

pasek_4oo_6o.jpg

Aktualny poziom zła: 75 punktów ostrzeżeń.
Achievements:
  • 22 zajebiste posty oznaczone czerwonym kółeczkiem
  • 1 urażony modek - dwa razy! (Istny Diabeł)
  • 4365 userów forum, którym powiedziałem smutną prawdę
Opublikowano

FrozenShade- to że Ty ukończyłeś jakąś swoją grę, jesteś po kilkuletniej nauce php to nie znaczy że możesz wywyższać się nad innymi że się nie znają tak jak Ty. Każdy zaczyna od czegoś, a to że nikt ze mną nie współpracuje to mnie g.. obchodzi bo nie szukam nikogo po pierwsze. Wolę całkowicie sam zrobić grę. Sam pewnie korzystałeś z gotowców, więc lepiej się nie odzywaj.

Opublikowano

Nie umiem PHP ;) Poważnie. czy PHP to jedyny 'język' w którym pisze się gry?

 

Wiesz jak zaczynałem? To były wczesne lata 90-te. Nie było internetu, nie było for, grup dyskusyjnych. Były książki, które niestety, ale trzeba było czytać ze zrozumieniem. Jak coś nie działało to trzeba było siedzieć i samemu rozwiązać problem. Takie losowe przepisywanie bez zrozumienia do niczego nie prowadziło.

 

$username = md5($username); to ma jakiś głębszy sens?

 

Nie odpowiedziałeś bo pewnie nawet nie wiesz o co chodzi w tej linijce. Tylko ślepo użyłeś, bez zrozumienia, nie wiedząc do czego to doprowadzi.

 

 

 

$username = md5($username);
$zapytanie = row("SELECT * FROM gracze WHERE login='$username' AND pass='$pass' AND ban='0'");


Jesteś pewny, że nawet loginy chcesz hashować? Chyba w md5 powinno być hasło zhashowane :)

 

 

@up Robi to jakąś różnicę?

 

Tak jak wyżej napisałem.

O co chodzi? Przykład: masz samochód, normalni ludzie leja do niego benzynę (zakładamy, że to nie diesel), ty nalałeś wody. I nie wiesz jaką to robi różnicę. Imho zanim się zacznie jeździć to trzeba chociaż tą podstawową wiedzę zdobyć. Np z książek. Jeśli byś się zapytał jak działa md5 to porównując do samochodów analogicznym pytaniem było by jak działa silnik samochodu. Ale jeśli na forum samochodowym napiszesz, że wlałeś do baku wodę i 'nie działa mi' to sorry, ale narazisz się na wyśmianie.

 

Chcesz coś zrobić - bardzo dobrze! Naprawdę, lepiej siedzieć i programować niż włóczyć się po osiedlu, ale skoro się już za to programowanie wziąłeś to rób to ze zrozumieniem. Na swojej drodze spotkasz setki, tysiące różnych funkcji. zanim ich użyjesz to sprawdź w dokumentacji co ona robi. Ty masz te dokumentacje w internecie, ja nie miałem tyle szczęścia.

Pisanie programów wymaga myślenia, tu nie ma taryfy ulgowej, więc albo zacznij myśleć, albo zajmij się czymś innym.

 

I nie mówi ci tego ktoś kto 'ukończył jakąś swoją grę', tylko ktoś kto programuje zawodowo ponad 10 lat. Wiem naprawdę dużo więcej od ciebie i jeśli sugeruję ci wzięcie się za książki to tylko dla twojego dobra. Nie ze złośliwości czy wywyższania się.

pasek_4oo_6o.jpg

Aktualny poziom zła: 75 punktów ostrzeżeń.
Achievements:
  • 22 zajebiste posty oznaczone czerwonym kółeczkiem
  • 1 urażony modek - dwa razy! (Istny Diabeł)
  • 4365 userów forum, którym powiedziałem smutną prawdę
Opublikowano

FrozenShade- to że Ty ukończyłeś jakąś swoją grę, jesteś po kilkuletniej nauce php to nie znaczy że możesz wywyższać się nad innymi że się nie znają tak jak Ty. Każdy zaczyna od czegoś, a to że nikt ze mną nie współpracuje to mnie g.. obchodzi bo nie szukam nikogo po pierwsze. Wolę całkowicie sam zrobić grę. Sam pewnie korzystałeś z gotowców, więc lepiej się nie odzywaj.

 

Internet to niesamowite miejsce - tylko tutaj bez żadnych podstaw powiedzą ci ,że korzystałeś z gotowców :)

Kilkuletnia nauka PHP? Jak bym się uczył PHP przez tyle co programuje ,a jest to 2.5 roku to bym chyba znał wszystkie funkcje mimo ,że znaczna większość mi się nie przyda.

 

 

No ,ale pójdźmy do cioci wikipedii i co ona nam mówi o MD5:

 

 

MD5 (z ang. Message-Digest algorithm 5Skrót wiadomości wersja 5) – algorytm z dziedziny kryptografii. Jest to popularna kryptograficzna funkcja skrótu, która z dowolnego ciągu danych generuje 128-bitowy skrót.

Algorytm został opracowany przez Rona Rivesta (współtwórcę RSA) w 1991. W 2004 znaleziono sposób na generowanie kolizji MD5, co obniża jego bezpieczeństwo w niektórych zastosowaniach (np. podpisywaniu plików).

 

Przykłady

Skrót obliczony dla krótkiego tekstu:

 

MD5("Ala ma kota") = 91162629d258a876ee994e9233b2ad87

Nawet niewielka zmiana w tekście (w tym przypadku zamiana a na y) powoduje (z bardzo dużym prawdopodobieństwem) powstanie zupełnie innego skrótu MD5

 

MD5("Ala ma koty") = 6a645004f620c691731b5a292c25d37f

 

Dlatego jeśli wolisz w swojej grze witać nietypowo gracza komunikatem:

 

Witaj fcd182238eec56f52948dac946936147!

Zamiast:

Witaj Kongo!

To powodzenia przy tworzeniu gry.

 

 

PHP nie jest jedynym językiem w jakim można tworzyć grę via WWW (tak jak frozen pisze) ,ponieważ mamy:

-PHP

-C+(++?)

-NodeJS + JS

-JS

-HTML5

-Flash + AS

-Java

 

A jeśli to co Frozen o swoich umiejętnościach pisze (Czyli programowaniu w C, C++, C#) to według mnie opanował najtrudniejsze języki programowania na świecie i ma za to ode mnie wielkie propsy ,ponieważ znając chociaż jeden język z rodziny C (i to dobrze) możesz opanować każdy inny bez problemu.

 

 

@DOWN:

Jak zobaczyłem to Malbolge to wiem ,że prędzej znajdę koniec internetu niż nauczę się Malbolge :D.

Opublikowano

Mylisz się, najtrudniejszym językiem programowania jest Malbolge ;)

Ale jeśli chodzi o C i C++ to od dawna mówiłem (i nigdy zdania na ten temat nie zmienię), że najlepiej uczyć się programować właśnie w tych językach. One uczą tego niezbędnego sposobu myślenia. Plus to o czym bnmbb wspomniał - łatwość nauki każdego innego języka.

C# to taka microsoftowa odpowiedź na pojawienie się Javy, łatwiejszy niż C i C++ i moim zdaniem dość niebezpieczny, łatwo sobie w nim wyrobić niezdrowe nawyki i pisać w sposób, którego się potem będzie żałować.

pasek_4oo_6o.jpg

Aktualny poziom zła: 75 punktów ostrzeżeń.
Achievements:
  • 22 zajebiste posty oznaczone czerwonym kółeczkiem
  • 1 urażony modek - dwa razy! (Istny Diabeł)
  • 4365 userów forum, którym powiedziałem smutną prawdę
Opublikowano

a co masz w polu 'ban' ?

pasek_4oo_6o.jpg

Aktualny poziom zła: 75 punktów ostrzeżeń.
Achievements:
  • 22 zajebiste posty oznaczone czerwonym kółeczkiem
  • 1 urażony modek - dwa razy! (Istny Diabeł)
  • 4365 userów forum, którym powiedziałem smutną prawdę
Opublikowano

To kurwa mać ,debilu jeden bo inaczej ciebie nie nazwę !

 

SELECT * FROM gracze WHERE login='$username' AND pass='$pass' AND ban='0'

CZYLI NA LUDZKI:

 

Wybierz wszystko z gracze gdzie LOGIN = $username i pass = $pass i ban = 0

 

To czemu kurwa szukasz gracza przy pomocy kolumny ,której kurwa nie ma? Nie masz kolumny ban to ci zwraca błąd!!! -.-

 

Czekam na warna....

Opublikowano

Nie mam takiego pola.

 

Wracaj do książek.....nie rozumiesz kodu który 'piszesz'.

pasek_4oo_6o.jpg

Aktualny poziom zła: 75 punktów ostrzeżeń.
Achievements:
  • 22 zajebiste posty oznaczone czerwonym kółeczkiem
  • 1 urażony modek - dwa razy! (Istny Diabeł)
  • 4365 userów forum, którym powiedziałem smutną prawdę
Opublikowano

A może całą grę za ciebie napisać?

pasek_4oo_6o.jpg

Aktualny poziom zła: 75 punktów ostrzeżeń.
Achievements:
  • 22 zajebiste posty oznaczone czerwonym kółeczkiem
  • 1 urażony modek - dwa razy! (Istny Diabeł)
  • 4365 userów forum, którym powiedziałem smutną prawdę
Opublikowano

No to chyba koniec tego tematu.

pasek_4oo_6o.jpg

Aktualny poziom zła: 75 punktów ostrzeżeń.
Achievements:
  • 22 zajebiste posty oznaczone czerwonym kółeczkiem
  • 1 urażony modek - dwa razy! (Istny Diabeł)
  • 4365 userów forum, którym powiedziałem smutną prawdę
Opublikowano
<?php

if (!empty($_POST)){

if (!empty($_POST['username']) && !empty($_POST['pass'])){

$_POST['username'] = vtxt($_POST['username']);

$_POST['pass'] = vtxt($_POST['pass']);

$username = $_POST['username'];

$pass = $_POST['pass'];

$pass = md5($pass);

if (ctype_alnum($username)){

$username = md5($username);

$zapytanie = row("SELECT * FROM gracze WHERE login='$username' AND pass='$pass'");

if ($zapytanie){

$_SESSION['id'] = $zapytanie['id'];

header('Location: index.php?a=stats');

} else echo 'Taki gracz nie istnieje lub został zbanowany.';

} else echo 'Niepoprawna nazwa użytkownika.';

} else {

echo 'Wypełnij wszystkie pola poprawnie.';

}

}

?>

<form action="index.php?a=login" method="POST">

<table>

<tr>

<td>Login użytkownika:</td>

<td><input type='text' name='username'/></td>

</tr>

<tr>

<td>Hasło:</td>

<td><input type='password' name='pass'/></td>

</tr>

<tr>

<td></td>

<td><center><input type='submit' style="width: 100px" value='Zaloguj się'/></center></td>

</tr>

</table>

</form>

<?php

ob_end_flush();

?>

Masz, wypierdalaj i nie wracaj na to forum ,a chociażby na działy ,w których się programuje.

 

@wilku:

No oke ,ale ja nie mam szacunku dla ludzi ,którzy wyzywają innych programistów od osób tworzących gry na gotowcach ,a sam nie jest lepszy ,a nawet gorszy ponieważ nie zna prawie nic PHP i 0 MySQL.

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...