Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

2 Stron V   1 2 >  
Reply to this topicStart new topic
> [php][mysql]Logowanie
Rash
post 7.03.2008, 11:59:49
Post #1





Grupa: Zarejestrowani
Postów: 88
Pomógł: 4
Dołączył: 6.02.2008

Ostrzeżenie: (30%)
XX---


Jak widzieliście w ostatnim moim temacie zrobiłem razem z wami panel rejestracji w mysql...Zaczełem pisać skrypt logowania..Pokaże cały kod jaki zrobiłem i razem moze jakoś go Uleprzemy...Bo coś mi nie działa...Chce do w pętelce If jakoś umieścić...
formularz
  1. <META HTTP-EQUIV="Content-type" CONTENT="text/html; charset=ISO-8859-2">
  2. <META NAME="Description" CONTENT="[ Opis dokumentu ]">
  3. <META NAME="Author" CONTENT="[ Autor dokumentu ]">
  4. <META NAME="Generator" CONTENT="EdHTML">
  5. <TITLE>[ Tytul dokumentu ]</TITLE>
  6. </HEAD>
  7. <FORM NAME ACTION="zal.php" METHOD="POST">
  8. <INPUT TYPE="text" NAME="login" VALUE><BR>
  9. <INPUT TYPE="password" NAME="haslo" VALUE><BR>
  10. <INPUT TYPE="submit" VALUE="Zaloguj">
  11. </FORM>
  12. </BODY>
  13. </HTML>

Acion haha.gif
  1. <?php
  2. mysql_connect ('xxxx' , 'xxxxx', 'xxxxx');
  3. mysql_select_db("users");
  4. $login =$_POST['login'];
  5. $haslo = $_POST['haslo'];
  6. $loginmaks = ("SELECT login FROM ok WHERE login == '$login' LIMIT 1");
  7. $haslomaks = ("SELECT haslo FROM ok WHERE haslo == '$haslo' LIMIT 1");
  8. mysql_query("$loginmaks");
  9. mysql_query("$haslomaks");
  10. ?>


To pomoże Ktos...Bo nie wiem jak to w pętli umieścić...
chodzi mi o to
  1. <?php
  2. if (costam)
  3. {
  4. echo "Zostałeś poprawnie zalogowany";
  5. }
  6. else
  7. {
  8. echo "niestety zły login/haslo";
  9. }
  10. ?>


To pomoże Ktos...Bo nie wiem jak to w pętli umieścić...
chodzi mi o to
  1. <?php
  2. if (costam)
  3. {
  4. echo "Zostałeś poprawnie zalogowany";
  5. }
  6. else
  7. {
  8. echo "niestety zły login/haslo";
  9. }
  10. ?>


Ten post edytował Rash 7.03.2008, 11:46:20
Go to the top of the page
+Quote Post
Hectic
post 7.03.2008, 12:05:48
Post #2





Grupa: Zarejestrowani
Postów: 256
Pomógł: 7
Dołączył: 1.01.2005

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


  1. <?php
  2. $loginmaks = ("SELECT login FROM ok WHERE login == '$login' LIMIT 1");
  3. $haslomaks = ("SELECT haslo FROM ok WHERE haslo == '$haslo' LIMIT 1");
  4. ?>


powinno być tak

  1. <?php
  2. $loginmaks = ("SELECT login FROM ok WHERE login = '$login' LIMIT 1");
  3. $haslomaks = ("SELECT haslo FROM ok WHERE haslo = '$haslo' LIMIT 1");
  4. ?>


Bo Ty tego nie porównujesz tak jak w if, a i "if" to nie jest pętla.

  1. <?php
  2. mysql_query("$loginmaks");
  3. mysql_query("$haslomaks");
  4. ?>


Samo mysql_query nic Ci nie da. Zobacz np. http://pl2.php.net/mysql_fetch_array
Natomiast jeśli chodzi o if trzeba porównać dane z post z danymi z mysql i ewentualnie stworzyć ciastko bądź sesje.

P.S
Moim zdaniem Twoje zapytanie nie ma sensu.


--------------------
Nie proś o to, idź i sam to zdobądź.
Zrób to, a osiągniesz sukces.
Go to the top of the page
+Quote Post
Rash
post 7.03.2008, 12:17:22
Post #3





Grupa: Zarejestrowani
Postów: 88
Pomógł: 4
Dołączył: 6.02.2008

Ostrzeżenie: (30%)
XX---


no własnie...Dlatego prosze was o Skrypt...haha.gif
Go to the top of the page
+Quote Post
Cienki1980
post 7.03.2008, 12:33:10
Post #4





Grupa: Przyjaciele php.pl
Postów: 1 590
Pomógł: 40
Dołączył: 11.01.2007
Skąd: Centrum

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


Cytat(Rash @ 7.03.2008, 12:17:22 ) *
no własnie...Dlatego prosze was o Skrypt...haha.gif


Gotowca ? Tego nie uświadczysz .. dostałeś link do manuala przeczytaj co tam prawią .. spróbuj samemu i napisz jak Ci wyszło.
Jak nie wyjdzie to pomożemy dalej.


--------------------
404
Go to the top of the page
+Quote Post
Rash
post 7.03.2008, 12:40:06
Post #5





Grupa: Zarejestrowani
Postów: 88
Pomógł: 4
Dołączył: 6.02.2008

Ostrzeżenie: (30%)
XX---


  1. <?php
  2. mysql_connect ('mysql2.yoyo.pl' , 'db448437', 'bermis1');
  3. mysql_select_db("db448437");
  4. $login =$_POST['login'];
  5. $haslo = $_POST['haslo'];
  6. $loginmaks = ("SELECT login FROM ok WHERE login == '$login' LIMIT 1");
  7. $haslomaks = ("SELECT haslo FROM ok WHERE haslo == '$haslo' LIMIT 1");
  8. mysql_query("$loginmaks");
  9. mysql_query("$haslomaks");
  10. mysql_fetch_array("$loginmaks , $haslomaks");
  11. ?>
Może Tak...Na dobrej drodze jestem?
Go to the top of the page
+Quote Post
Cienki1980
post 7.03.2008, 12:47:42
Post #6





Grupa: Przyjaciele php.pl
Postów: 1 590
Pomógł: 40
Dołączył: 11.01.2007
Skąd: Centrum

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


Cytat(Rash @ 7.03.2008, 12:40:06 ) *
  1. <?php
  2. mysql_connect ('mysql2.yoyo.pl' , 'db448437', 'bermis1');
  3. mysql_select_db("db448437");
  4. $login =$_POST['login'];
  5. $haslo = $_POST['haslo'];
  6. $loginmaks = ("SELECT login FROM ok WHERE login == '$login' LIMIT 1");
  7. $haslomaks = ("SELECT haslo FROM ok WHERE haslo == '$haslo' LIMIT 1");
  8. mysql_query("$loginmaks");
  9. mysql_query("$haslomaks");
  10. mysql_fetch_array("$loginmaks , $haslomaks");
  11. ?>
Może Tak...Na dobrej drodze jestem?

Błądzisz ... zajrzałeś do manuala ?

Po pierwsze dalej masz błąd z == zamiast =

Po drugie sprawdź dokładnie jakie parametry przyjmują funkcje mysql_query, mysql_fetch_array i co te funkcje zwracają.


--------------------
404
Go to the top of the page
+Quote Post
Rash
post 7.03.2008, 12:58:19
Post #7





Grupa: Zarejestrowani
Postów: 88
Pomógł: 4
Dołączył: 6.02.2008

Ostrzeżenie: (30%)
XX---


  1. <?php
  2. mysql_connect ('mysql2.yoyo.pl' , 'db448437', 'bermis1');
  3. mysql_select_db("db448437");
  4. $login =$_POST['login'];
  5. $haslo = $_POST['haslo'];
  6. $loginmaks = ("SELECT login FROM ok WHERE login = '$login' LIMIT 1");
  7. $haslomaks = ("SELECT haslo FROM ok WHERE haslo = '$haslo' LIMIT 1");
  8. mysql_query($loginmaks);
  9. mysql_query($haslomaks);
  10. mysql_fetch_array($loginmaks);
  11. mysql_fetch_array($haslomaks);
  12. //nie kapuje jak to ułożyć...
  13. ?>

Nie wiem jak to ułożyć....Pomóż Prosze...

Ten post edytował Rash 7.03.2008, 13:01:00
Go to the top of the page
+Quote Post
netmare
post 7.03.2008, 13:06:45
Post #8





Grupa: Zarejestrowani
Postów: 285
Pomógł: 37
Dołączył: 18.12.2007
Skąd: Łódź

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


  1. <?php
  2. $wynik_zapytania=mysql_query($loginmaks);
  3. $wiersz_z_wyniku=mysql_fetch_array($wynik_zapytania);
  4. ?>

Ale i tak jest dosyć poważny błąd, po pierwsze podatność na atak, po drugie należy login i hasło sprawdzić jednym zapytaniem.
Go to the top of the page
+Quote Post
Cienki1980
post 7.03.2008, 13:08:12
Post #9





Grupa: Przyjaciele php.pl
Postów: 1 590
Pomógł: 40
Dołączył: 11.01.2007
Skąd: Centrum

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


Przyznaj się sprawdzałeś link który został podany parę postów wyżej questionmark.gif
Jakbyś to zrobił byś zobaczył :
  1. <?php
  2. mysql_connect("localhost", "mysql_user", "mysql_password"); //łączysz się do mysql
  3. mysql_select_db("mydb"); // wybierasz bazę
  4.  
  5. $result = mysql_query("SELECT id, name FROM mytable"); // zadajesz pytanie do bazy ... 
  6. //Ty musisz sprawdzic czy w tabeli jest user o loginie=$login i hasle=$haslo
  7.  
  8. $row = mysql_fetch_array($result) ; //pobierasz wynik z bazy
  9.  
  10. //teraz wystarczy sprawdzić czy wynik jest czy nie 
  11. //od razu zwróć uwagę co zwraca mysql_fetch_array
  12. //zebyś wiedział czego oczekujesz
  13.  
  14. ?>


--------------------
404
Go to the top of the page
+Quote Post
Rash
post 7.03.2008, 13:16:13
Post #10





Grupa: Zarejestrowani
Postów: 88
Pomógł: 4
Dołączył: 6.02.2008

Ostrzeżenie: (30%)
XX---


  1. <?php
  2. mysql_connect("mysql2.yoyo.pl", "xxxx", "xxxx"); //łączysz się do mysql
  3. mysql_select_db("db448437"); // wybierasz bazę
  4. $login =$_POST['login'];
  5. $haslo = $_POST['haslo'];
  6. $result = mysql_query("SELECT id, login FROM ok WHERE login = $login WHERE haslo = $haslo"); // zadajesz pytanie do bazy ...
  7. //Ty musisz sprawdzic czy w tabeli jest user o loginie=$login i hasle=$haslo
  8.  
  9. $row = mysql_fetch_array($result) ; //pobierasz wynik z bazy
  10.  
  11. //teraz wystarczy sprawdzić czy wynik jest czy nie
  12. //od razu zwróć uwagę co zwraca mysql_fetch_array
  13. //zebyś wiedział czego oczekujesz
  14.  
  15. ?>
Dalej mam błąd :/
Powód edycji: podawanie dostępu do mysql'a nie jest zbyt mądre
Go to the top of the page
+Quote Post
netmare
post 7.03.2008, 13:18:00
Post #11





Grupa: Zarejestrowani
Postów: 285
Pomógł: 37
Dołączył: 18.12.2007
Skąd: Łódź

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


WHERE login = $login AND haslo = $haslo
zamiast
WHERE login = $login WHERE haslo = $haslo
Go to the top of the page
+Quote Post
potreb
post 7.03.2008, 13:19:05
Post #12





Grupa: Zarejestrowani
Postów: 1 568
Pomógł: 192
Dołączył: 7.03.2005
Skąd: Warszawa

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


Jak masz błąd to może napisz jaki!!!

Stosuj or die(mysql_error());
  1. <?php
  2. $row = mysql_fetch_array($result) or die(mysql_error());
  3. ?>


--------------------

Go to the top of the page
+Quote Post
Rash
post 7.03.2008, 13:21:08
Post #13





Grupa: Zarejestrowani
Postów: 88
Pomógł: 4
Dołączył: 6.02.2008

Ostrzeżenie: (30%)
XX---


  1. <?php
  2. mysql_connect("mysql2.yoyo.pl", "xxxx", "xxxx"); //łączysz się do mysql
  3. mysql_select_db("db448437"); // wybierasz bazę
  4. $login =$_POST['login'];
  5. $haslo = $_POST['haslo'];
  6. $result = mysql_query("SELECT id, login FROM ok WHERE login = $login AND haslo = $haslo"); // zadajesz pytanie do bazy ...
  7. //Ty musisz sprawdzic czy w tabeli jest user o loginie=$login i hasle=$haslo
  8.  
  9. $row = mysql_fetch_array($result); //pobierasz wynik z bazy
  10.  
  11. //teraz wystarczy sprawdzić czy wynik jest czy nie
  12. //od razu zwróć uwagę co zwraca mysql_fetch_array
  13. //zebyś wiedział czego oczekujesz
  14. ?>

Dalej błąd wyskakuje :/
Powód edycji: podawanie dostępu do mysql'a nie jest zbyt mądre
Go to the top of the page
+Quote Post
netmare
post 7.03.2008, 13:21:56
Post #14





Grupa: Zarejestrowani
Postów: 285
Pomógł: 37
Dołączył: 18.12.2007
Skąd: Łódź

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


jaki błąd ?

Edit: no tak, a ' przy wartościach szukanych w bazie gdzie zgubiłeś? winksmiley.jpg

Ten post edytował netmare 7.03.2008, 13:23:01
Go to the top of the page
+Quote Post
Rash
post 7.03.2008, 13:26:45
Post #15





Grupa: Zarejestrowani
Postów: 88
Pomógł: 4
Dołączył: 6.02.2008

Ostrzeżenie: (30%)
XX---


Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /var/www/sites/yoyo.pl/b/i/biznestest/zal.php on line 9
Unknown column 'bermis1' in 'where clause'


Mam tak baza->tabela->1|xxxxx|xxxxx
Go to the top of the page
+Quote Post
Cienki1980
post 7.03.2008, 13:32:03
Post #16





Grupa: Przyjaciele php.pl
Postów: 1 590
Pomógł: 40
Dołączył: 11.01.2007
Skąd: Centrum

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


Cytat(Rash @ 7.03.2008, 13:26:45 ) *
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /var/www/sites/yoyo.pl/b/i/biznestest/zal.php on line 9
Unknown column 'bermis1' in 'where clause'
Mam tak baza->tabela->1|xxxxx|xxxxx

Po pierwsze nie podawaj dostępu do bazy ... biggrin.gif

Po drugie zastosuj ' w zapytaniu jeżeli wstawiasz sprawdzasz kolumnę typu varchar ... a pewnie takowe jest login i password

  1. <?php
  2. $sql = "select * from ok where login='".$login."' and haslo='".$haslo."'";
  3. ?>

Powyższy sposób może jest nadmiarowy ale uczy co jak powinno wyglądać i jak zachowywać kolejność ' i " w php biggrin.gif


--------------------
404
Go to the top of the page
+Quote Post
Rash
post 7.03.2008, 13:38:39
Post #17





Grupa: Zarejestrowani
Postów: 88
Pomógł: 4
Dołączył: 6.02.2008

Ostrzeżenie: (30%)
XX---


Ps: To baza testowa możecie się nią bawić tongue.gif
To mój błąd:Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING in /var/www/sites/yoyo.pl/b/i/biznestest/zal.php on line 6
a to aktualny kod...haha.gif
  1. <?php
  2. mysql_connect("mysql2.yoyo.pl", "db448437", "bermis1"); //łączysz się do mysql
  3. mysql_select_db("db448437"); // wybierasz bazę
  4. $login =$_POST['login'];
  5. $haslo = $_POST['haslo'];
  6. $sql = "select * from ok where login='".$login."' and haslo='".$haslo."'"";
  7. //Ty musisz sprawdzic czy w tabeli jest user o loginie=$login i hasle=$haslo
  8.  
  9. $row = mysql_fetch_array($sql) or die(mysql_error()); //pobierasz wynik z bazy
  10.  
  11. //teraz wystarczy sprawdzić czy wynik jest czy nie
  12. //od razu zwróć uwagę co zwraca mysql_fetch_array
  13. //zebyś wiedział czego oczekujesz
  14. ?>

I dalej mi nie działa xP

Ten post edytował Rash 7.03.2008, 13:41:34
Go to the top of the page
+Quote Post
Cienki1980
post 7.03.2008, 13:40:27
Post #18





Grupa: Przyjaciele php.pl
Postów: 1 590
Pomógł: 40
Dołączył: 11.01.2007
Skąd: Centrum

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


Cytat(Rash @ 7.03.2008, 13:38:39 ) *
Ps: To baza testowa możecie się nią bawić tongue.gif
To mój błąd:Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /var/www/sites/yoyo.pl/b/i/biznestest/zal.php on line 9
a to aktualny kod...haha.gif
  1. <?php
  2. mysql_connect("mysql2.yoyo.pl", "db448437", "bermis1"); //łączysz się do mysql
  3. mysql_select_db("db448437"); // wybierasz bazę
  4. $login =$_POST['login'];
  5. $haslo = $_POST['haslo'];
  6. $sql = "select * from ok where login='".$login."' and haslo='".$haslo."'";
  7. //Ty musisz sprawdzic czy w tabeli jest user o loginie=$login i hasle=$haslo
  8.  
  9. $row = mysql_fetch_array($sql) or die(mysql_error()); //pobierasz wynik z bazy
  10.  
  11. //teraz wystarczy sprawdzić czy wynik jest czy nie
  12. //od razu zwróć uwagę co zwraca mysql_fetch_array
  13. //zebyś wiedział czego oczekujesz
  14. ?>

I dalej mi nie działa xP


Brak słów .. do manuala marsz i zobaczyć co przyjmuje jako parametr funkcja mysql_query .. która tutaj skutecznie wywaliłeś ...

Myśleć ... myśleć .. to nie boli .. a jak zaczyna boleć to dać sobie spokój z programowaniem i poszukać innego hobby.


--------------------
404
Go to the top of the page
+Quote Post
netmare
post 7.03.2008, 13:42:24
Post #19





Grupa: Zarejestrowani
Postów: 285
Pomógł: 37
Dołączył: 18.12.2007
Skąd: Łódź

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


bo zapytanie trzeba wykonać żeby dało wynik

brak słów po prostu

pl.php.net, do tego patrz na przykłady które były powklejane i sam dojdź co skopałeś tongue.gif
@up
Cytat(Cienki1980 @ 7.03.2008, 13:40:27 ) *
Brak słów


Byłeś szybszy biggrin.gif

Ten post edytował netmare 7.03.2008, 13:44:36
Go to the top of the page
+Quote Post
Hectic
post 7.03.2008, 13:42:55
Post #20





Grupa: Zarejestrowani
Postów: 256
Pomógł: 7
Dołączył: 1.01.2005

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


Teraz brakuje mysql_query(). Poczytaj w manualu jak wykonuje się podstawowe zapytania bo nawet tego nie wiesz.


--------------------
Nie proś o to, idź i sam to zdobądź.
Zrób to, a osiągniesz sukces.
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 13.08.2025 - 23:48