Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php][mysql]Logowanie
Forum PHP.pl > Forum > Przedszkole
Rash
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. ?>
Hectic
  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.
Rash
no własnie...Dlatego prosze was o Skrypt...haha.gif
Cienki1980
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.
Rash
  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?
Cienki1980
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ą.
Rash
  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...
netmare
  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.
Cienki1980
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. ?>
Rash
  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 :/
netmare
WHERE login = $login AND haslo = $haslo
zamiast
WHERE login = $login WHERE haslo = $haslo
potreb
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. ?>
Rash
  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 :/
netmare
jaki błąd ?

Edit: no tak, a ' przy wartościach szukanych w bazie gdzie zgubiłeś? winksmiley.jpg
Rash
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
Cienki1980
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
Rash
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
Cienki1980
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.
netmare
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
Hectic
Teraz brakuje mysql_query(). Poczytaj w manualu jak wykonuje się podstawowe zapytania bo nawet tego nie wiesz.
potreb
I 20 osób ma ci pisać skrypt, za każdym razem piszesz nie działa nie działa, pisze w której lini błąd, wrzucasz błąd do googla i masz rozwiązanie. Proste
-Rash-
Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING
to teraz mi wyskakuje xP
netmare
to pech, przykro nam wszystkim niezmiernie, ale chyba najwyższa pora zmienić hobby, bo te błędy,problemy z interpretacją manuala, brak kompilatora bądź interpretatora realizującego funkcje w stylu napisz_za_mnie_fajny_modul_logowania(); to chyba nie dla Ciebie
lucca
Stary, google nie masz w domu?

Wklepany bład do google daje wyniki:
Pierwszy
Drugi
Trzeci
Czwarty
Piąty

Ja jestem cieńki z php, ale jak wyskakuje bład to pierwsz co, to biere dzide i google pytać ide.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.