Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Pobieranie danych z mysql[php]
Phomerus
post 25.12.2005, 12:47:28
Post #1





Grupa: Zarejestrowani
Postów: 13
Pomógł: 0
Dołączył: 6.11.2005

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


No wie csluchajcie... mam tabele users w bazie danych
Kod
              Field          Type            Attributes  Null  Default Extra
              login          varchar(25)       BINARY     No         -        -
              password      varchar(15)        BINARY     No         -         -
              mail           varchar(40)                  No         -        -


No i tu mam skrypt logowania:
  1. <?
  2. $password=$_POST['password'];
  3. $login=$_POST['login'];
  4. $dbh= mysql_connect("serw", "uzyt", "haslo") or die ('I cannot connect to the database because: ' . mysql_error());
  5. mysql_select_db("pb_baza" , $dbh); 
  6. $sql = mysql_query("SELECT password FROM `users` WHERE login='$login'");
  7. $a = mysql_fetch_array($sql);
  8. if($a[password]==$password){
  9. echo"zalogowales sie pomyslnie!";
  10. echo "<a href="str.php">przejdź do strony głównej</a>";
  11. } 
  12. else{
  13. echo "blad, nieprawidlowe dane!";
  14. include("plik1.php");
  15. }
  16. ?>


I nie dziala?($a['password'] ma pusty ciag znakow) Mozecie powiedziec jaki robie blad?? Pozrowienia i wesolych swiat smile.gif
Go to the top of the page
+Quote Post
mike
post 25.12.2005, 12:56:43
Post #2





Grupa: Przyjaciele php.pl
Postów: 7 494
Pomógł: 302
Dołączył: 31.03.2004

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


1. Sprawdź (za pomocę mysql_num_rows() ) czy są zwracane jakieś dane z bazy.
2. A nóż to kwestia literówki w kodzie: Nie tak $a[password] tylko tak $a['password'] (apostrofy)
Go to the top of the page
+Quote Post
Phomerus
post 25.12.2005, 13:06:17
Post #3





Grupa: Zarejestrowani
Postów: 13
Pomógł: 0
Dołączył: 6.11.2005

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


Sprawdzilem i zwracana jest wartosc 0.. czyli nie sa pobierane dane... w kodzie nie ma zadnych literowek(oprocz tamtej- poprawilem juz) co moze byc zle? Jak wykonuje to zapytanie w phpmyadminie to bez problemu zwraca mi haslo. Lacze sie z baza poprawnie, wyglada na to ze nie wybieram odpowiedniej bazy danych, ale przeciez wpisuje jej nazwe w 7 linii na pewno bez zadnej literowki..moj uzytkownik w bazie ma wszystkie uprawnienia... pomocy..
Go to the top of the page
+Quote Post
mike
post 25.12.2005, 13:14:33
Post #4





Grupa: Przyjaciele php.pl
Postów: 7 494
Pomógł: 302
Dołączył: 31.03.2004

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


Zrób tak (w fazie testów, normalnie tak nie rób ):
  1. <?php
  2. // ...
  3. echo $strQuery = "SELECT password FROM `users` WHERE login='$login'";
  4. $sql = mysql_query( $strQuery );
  5. // ...
  6. ?>
... bedziesz miał pewność, że dane z formularza przychodzą a zapytanie jest poprawne
Go to the top of the page
+Quote Post
crash
post 25.12.2005, 13:14:44
Post #5





Grupa: Przyjaciele php.pl
Postów: 2 196
Pomógł: 2
Dołączył: 17.01.2004
Skąd: Sosnowiec

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


A spróbuj print_r( $_POST ); bo poza możliwością, że dane nie dotarły z formularza więcej błędów tu raczej nie może się pojawić...


--------------------
Go to the top of the page
+Quote Post
Phomerus
post 25.12.2005, 13:21:23
Post #6





Grupa: Zarejestrowani
Postów: 13
Pomógł: 0
Dołączył: 6.11.2005

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


Ahm sorry juz dziala... skrypt uruchamialem na serwerze na swoim kompie a baza danych byla na innym i mimo ze sie laczylo z nia nie pobieralo danych, teraz wszystko w porzadku...
Go to the top of the page
+Quote Post

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: 14.08.2025 - 09:28