![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 23 Pomógł: 0 Dołączył: 14.11.2011 Ostrzeżenie: (0%) ![]() ![]() |
Witam
Mam maly problem. Gdyz mam prosty system logowania, chcialem dolozyc mu funkcje taka ze jak uzytkownik wpisze login i haslo to go przeniesie do adresu zawartego w bazie mysql. Baza wyglada nastepujaco ID / Login / Haslo / Url Zawartosc pliku z logowanie: Kod <?php
session_start(); mysql_connect("XXX"); mysql_select_db("XXX"); if(isset($_SESSION['zalogowany'])) { echo "Witam, ".$_SESSION['uzytkownik']; }else{ if(isset($_POST['wyslij'])) { if(mysql_num_rows(mysql_query("SELECT uzytkownik, haslo FROM logowanie WHERE uzytkownik = '".$_POST['uzytkownik']."' && haslo = '".$_POST['haslo']."' ")) > 0) { if(mysql_num_rows(mysql_query("SELECT id FROM logowanie WHERE uzytkownik = '".$_POST['uzytkownik']."' && haslo = '".$_POST['haslo']."' ")) > 0 ) { $_SESSION['zalogowany'] = true; $_SESSION['uzytkownik'] = $_POST['uzytkownik']; $_SESSION['haslo'] = $_POST['haslo']; echo =============================== ( tutaj experymentuje ale ciagle brak sukcesu ) } else { echo "Złe hasło, proszę spróbować ponownie"; } } else { echo "Nie ma takiego użytkownika"; } } else { ?> <form method='POST' action='logowanie.php'> <b>nazwa uzytkownika:</b> <input type='text' name='uzytkownik'><br> <b>haslo:</b> <input type='password' name='haslo'><br> <input type='submit' value='Wyślij' name='wyslij'> </form> <?php } } ?> |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 623 Pomógł: 79 Dołączył: 16.01.2008 Ostrzeżenie: (0%) ![]() ![]() |
Ale Ty tu nigdzie nie pobierasz danych z bazy, jedynie zliczasz ilość rekordów (w dodatku dwa razy, chyba, że źle widzę). Użyj mysql_fetch_assoc ( http://php.net/manual/en/function.mysql-fetch-assoc.php )
Ponadto-nie czyścisz danych usera, podatne na sql injection (zainteresuj się mysql_real_escape_string) Ponadto#2 - haseł nie zapisujemy plain textem, tylko robimy z nich md5 lub sha1, najlepiej solone. |
|
|
-Wazniak96- |
![]()
Post
#3
|
Goście ![]() |
Sprobuj tak:
Sorry za błędy jezeli jakieś są ale edytowane przez fona ![]() |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 23 Pomógł: 0 Dołączył: 14.11.2011 Ostrzeżenie: (0%) ![]() ![]() |
Konrados
Z tego co przeczytalem twoja wypowiedz i staralem sie to rozkminic ![]() To wychodzi na to ze lepiej to wykasawoac wszystko i zaczac od nowa. Kurde czlowiek nie chce gotowca uzywac a robi wtedy tyle glopot -Wazniak96- To co napisales wciaz nie dziala moze to kwestja przecinku rozbiore ten kod na czesci pierwsze i zoabcze gdzie jest blad |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 623 Pomógł: 79 Dołączył: 16.01.2008 Ostrzeżenie: (0%) ![]() ![]() |
Cytat To co napisales wciaz nie dziala moze to kwestja przecinku rozbiore ten kod na czesci pierwsze i zoabcze gdzie jest blad O wiele lepiej jest używać jakiegoś dobrego IDE, np. polecam Eclipse (z dodatkiem PDT) błędy składni od razu na czerwono robi (zapomniany przecinek, apostrof czy nawias). |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 1 195 Pomógł: 109 Dołączył: 3.11.2011 Ostrzeżenie: (10%) ![]() ![]() |
Ja mam tylko pytanie -po co pchasz wszystko do sesji?Przerażające jest też ,że pchasz także hasło i to nieszyfrowane. Hasła w ogóle nie powinno się zapisywać do sesji -poczytaj o a takach na sesje, może zmienisz zdanie.
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 23 Pomógł: 0 Dołączył: 14.11.2011 Ostrzeżenie: (0%) ![]() ![]() |
Oki dzieki za porgramik powinno być latwiej.
![]() Przepraszam za glopi tekst wiem ze tak sie nie postepuje. Ale czy mogl bys mi na chwile obecna ten kod kolegi poprawic w tym programie bo musze na poniedzialek oddac pewna czesc w pracy ![]() ![]() baza mysql: logowanie tabele: id / login / haslo / url W ramach wymiany zawsze mozesz do nie uderzyc w kesti grafiki ![]() P.S A co do szyfrowania itd ja sie poprostu ucze tego i wiem ze jeszcze sporo przedemna narazie zrozumialem oco chodzi ztym szyfrowaniem terazm rozkminiam z ta sesja jak to zrobic ![]() Ten post edytował norfear 3.06.2012, 18:42:28 |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 1 195 Pomógł: 109 Dołączył: 3.11.2011 Ostrzeżenie: (10%) ![]() ![]() |
Po prostu ten skrypt masz źle napisany.
Przy logowaniu ,pobierasz z inputów to co użytkownik wpisał (hasło i login),sprawdzasz w bazie danych czy taki użytkownik istnieje jeśli tak to do sesji zapisujesz np. tylko jego id z bazy danych i tej sesji z id użytkownika używasz na kolejnych podstronach przy pomocy bazy danych do ponownej identyfikacji użytkownika. Ten post edytował Niktoś 3.06.2012, 18:56:30 |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 23 Pomógł: 0 Dołączył: 14.11.2011 Ostrzeżenie: (0%) ![]() ![]() |
Kurde napisales to tak prosto. Ze idzie to zrozumiec
Nie mogles tego napisac z rana ![]() Dobra zaczolem to bazgrac od poczatku tak jak to mi napisales. Kod session_start(); mysql_connect("XXX"); mysql_select_db("XXX"); $login=$_POST[‘login’]; if($login) { $uzytkownik=$_POST[‘uzytkownik’]; $md5_haslo=md5($_POST[‘haslo’]); $rezultat=mysql_query("select * FROM logowanie WHERE uzytkownik=’$uzytkownik’ AND haslo=’$md5_haslo’"); session_register("uzytkownik"); header ============ standardowo tutaj mam problem bo nie wiem jak wywolac url exit; }else { $message="Nieprawidłowa nazwa użytkownika lub hasło"; } } <form method='POST' action='logowanie.php'> <b>nazwa uzytkownika:</b> <input type='text' name='uzytkownik'><br> <b>haslo:</b> <input type='password' name='haslo'><br> <input type='submit' value='Wyślij' name='wyslij'> </form> ogolnie to chyba taki schemat bedize jak dobrze kminie jest to pisane z palca wiec pewnie to nie zadziala Ten post edytował norfear 3.06.2012, 19:15:35 |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 1 195 Pomógł: 109 Dołączył: 3.11.2011 Ostrzeżenie: (10%) ![]() ![]() |
Żeby posługiwać się md5 podczas logowania ,to na stronie rejestracji hasło użytkownika także musisz zapisywać w md5.
|
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 623 Pomógł: 79 Dołączył: 16.01.2008 Ostrzeżenie: (0%) ![]() ![]() |
@norfear
Łap, w drodze wyjątku:) Musisz tu pozmieniać parę rzeczy (np. nazwę tabeli). Plus, tak jak powiedział Niktoś - ja tu nie robię md5 bo pewnie przy rejestracji też tego nie robisz.
|
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 23 Pomógł: 0 Dołączył: 14.11.2011 Ostrzeżenie: (0%) ![]() ![]() |
ŁoŁ
Stary dziekuje naprawde. Uda mi sie polozyc o normalnej godzinie przez to spac ![]() Jeszcze tylko kilka drobnych modyfikacji i wkoncu do łóżka. Jak by co to masz u mnie piwo jak i pomoc jeśli byś potrzebowal w dziale grafiki i animacji. Tema to zamknięcia jeszcze raz wszystkim dziękuje za pomoc. Ten post edytował norfear 3.06.2012, 20:12:28 |
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 623 Pomógł: 79 Dołączył: 16.01.2008 Ostrzeżenie: (0%) ![]() ![]() |
Cytat Jak by co to masz u mnie piwo jak i pomoc jeśli byś potrzebowal w dziale grafiki i animacji. Będę pamiętał ![]() |
|
|
![]()
Post
#14
|
|
Grupa: Zarejestrowani Postów: 23 Pomógł: 0 Dołączył: 14.11.2011 Ostrzeżenie: (0%) ![]() ![]() |
Moze to juz jest glopie pytanie ale zalozmy ze zaloguje sie tak jak to pokazales i sesja jest otwarta dla komputer na ktorym to nastapilo.
Wylaczam przegladrke zalaczam ja ponownie klikam na ten link to zamiast automatycznie mnie przeniesc juz do wskazanego url pisz Witaj (nazwa uzytkownika ) jak tutaj to wywolac ten nasz magiczny url z ostatniej sesji? Kod echo "Witam, ".$_SESSION['uzytkownik']; Dobra juz sobie poradzilem z tym na pcozatku skryptu cza poprsotu dopisac takie cos ![]() Kod session_set_cookie_params(10, '/test/'); session_start(); session_regenerate_id(true); Rozwiazanie to pomaga logowac sie za kazdym razem ![]() Ten post edytował norfear 5.06.2012, 23:46:48 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 05:48 |