[PHP]Prośba o sprawdzenie systemu logowania/rejestracji z ra

Języki, których efekty są wykonywane po stronie serwera. PHP, ASP czy CGI w połączeniu z bazami danych SQL dają niezwykłe możliwości budowy i zarządzania stron WWW. Tu zadajemy pytania oraz demonstrujemy kod, z którym mamy problem.
justynasankiel
Posty: 18
Rejestracja: ndz sty 11, 2009 10:20 am

[PHP]Prośba o sprawdzenie systemu logowania/rejestracji z ra

Post autor: justynasankiel »

Witajcie!

Czy moglibyście mi sprawdzić i poprawić błędy w moim systemie logowania i rejestracji opartym o rangi?
Prosiłabym o pomoc, bo nie wiem czy dobrze napisałam, siedzę nad tym cały miesiąc i nie ma mi kto tego sprawdzić:(.
Ja dopiero od dwóch miesięcy się uczę tworzenia stron internetowych, więc mam małe doświadczenie.

Jeśli moglibyście mi pomóc to poniżej są elementy mojego systemu:

Tabela users:
http://www.wklej.org/id/34925/

to jest powiązane z stroną wykaż użytkowników:

http://www.wklej.org/hash/47943ab713/

Następnie mam tabelę users_stan, gdzie są informacje o aktualnie zalogowanych użytkownikach:

http://www.wklej.org/id/34908/

i ostatnia tabelka dot. statusu:
http://www.wklej.org/id/37679/

Może to oprzeć raczej na grupach sesji?

Rangi i sesje znajdują się na wszystkich stronach, a nie tylko na jednej, jedynie w jednym przypadku użytkownik może modyfikować dane na jednej stronie a w pozostałych tylko oglądać.

formularz1.php
http://www.wklej.org/id/34911/

index.php

http://www.wklej.org/id/34915/

strona logowania:

http://www.wklej.org/id/34918/

zaloguj.php:
http://www.wklej.org/id/34919/

users.php:

http://www.wklej.org/id/34920/

rejestracja.html:

http://www.wklej.org/id/34923/

logout.php

http://www.wklej.org/id/37680/

chroniona_strona.php:

http://www.wklej.org/id/34924/

rejestracjapomyslna.php:

Kod: Zaznacz cały

<html>
<head>
</head>
<body>
Zostales zarejestrowany. Teraz mozesz sie zalogowac i w pelni korzystac z serwisu!
</body>
</html>
I na końcu chciałbym, żeby była możliwość po wciśnięciu przycisku Zapomniałeś hasła?, pojawienie się formularza z pytaniem i możliwością odpowiedzi na nie. Wysłanie danych, sprawdzenie czy wpisana odpowiedź jest taka jak w bazie danych i formularz do zmiany hasła bądź komunikat o błędnej odpowiedzi. Jeśli user prawidłowo odpowie to ponowne przekierowanie na stronę logowania, gdzie już jest w polu hasło w pisane właściwe hasło, które użytkownik zapomniał.

Wykorzystałem coś takiego:
przypominanie_hasla.php:

Kod: Zaznacz cały

SELECT * FROM users WHERE username = '{$username}' or password = '{$pass}'
$username = mysql_real_escape_string($_POST['username']);
$pass = md5($_POST['password']);
print $user[0]['pytanie'];
$odpowiedz = mysql_real_escape_string($_POST['odpowiedz']);
if ($odpowiedz == $user[0]['odpowiedz']) {
... <html><head></head><body><fieldset style="border: 6px solid black; width: 500px; height: 50%;  text-align: center; background-color: snow;">
                    <p style="color: blue;"><big>FORMULARZ ODZYSKIWANIA ZAPOMNIANEGO HASŁA</big></p>


                       <center><form action="zaloguj.php" name="przypominanie" method="post" onsubmit="return setAction(this);" style="margin:0px;">

                          <fieldset style="border: 3px solid blue; width: 460px; height: 180px; text-align: center; background-color: snow;">
                            <legend><big>Wpisz dane:</big></legend>


                                     <a> Nazwa użytkownika:           </a><input type="text" name="login" id="input" style="color: blue; background-color: yellow;"/>  </a> <br><br>

                                     <a> Odpowiedz na następujące pytanie:</a><input type="text" name="pytanie" id="input" size="20" style="color: blue; background-color: InactiveCaptionText;"/>  <a href="#" title="To jest twoje pytanie przypominające, jakie podałeś przy rejestracji użytkownika"><small>INFO</small><br><br>

                                     <a> Wpisz odpowiedź na pytanie:           </a><input type="password" name="odpowiedz" id="input" style="color: blue; background-color: InactiveCaptionText;"/> <a href="#" title="Tuataj wpisz twoja odpowiedź na powyższe pytanie przypominające, jakie podałeś przy rejestracji użytkownika"><small>INFO</small><br><br>



                               <label for><a><button name="submit" value="Zatwierdź" onClick="parent.location.href='index.html'"/>Zatwierdź</button></a></label>


                          </form></center>

                  </fieldset></body></html>

} else {
          <html><head></head><body><table border=1 align=center>
                   <tr>
                        <td bgcolor=aqua height=20 width=500>Komunikat</td>
                   </tr>
                   <tr>
                        <td bgcolor="yellow" height=40 width=500>Podałeś błędną odpowiedź na zadane pytanie. Wpisz jeszcze raz poprawną odpowiedź na zadane pytanie!</td>
                   </tr>

             </table></body></html>
}
Byłabym wdzięczna za pomoc

justynasankiel
ODPOWIEDZ