Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> uwierzytelnianie php MySQL, bład pobrania loginu i hasła z bazy
maras_
post
Post #1





Grupa: Zarejestrowani
Postów: 18
Pomógł: 0
Dołączył: 9.08.2009

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


Witam wszystkich uzytkownikow. To moj pierwszy post na tym forum. Przejdzmy odrazu do rzeczy. Przedstawie skrypt php i mysql z którym mam problem. Chodzi o komunikat wyświetlany podczas podania loginu i hasła, który brzmi "nie można wykonać zapytania".
  1. <?php
  2. $uzytkownik = $_POST['uzytkownik'];
  3. $haslo = $_POST['haslo'];
  4.  
  5. if(!isset($_POST['uzytkownik'])&&!isset($_POST['haslo']))
  6. {
  7.  
  8. ?>
  9. <h1>Zaloguj sie</h1>
  10.  
  11. <form method = "post" action = "zastrz_baza.php">
  12. <table border = "1">
  13. <tr>
  14. <th> Uzytkownik </th>
  15. <td> <input type = "text" name = "uzytkownik"> </td>
  16. </tr>
  17. <tr>
  18. <th> Haslo </th>
  19. <td> <input type = "password" name = "haslo"> </td>
  20. </tr>
  21. <tr>
  22. <td colspan = "2" align = "center">
  23. <input type = submit value = "Zaloguj sie">
  24. </td>
  25. </tr>
  26. </form>
  27. <?php
  28. }
  29. else
  30. {
  31.  
  32. $mysql = mysqli_connect( 'localhost','marek','marek123', 'uwierz' );
  33. if(!$mysql)
  34. {
  35. echo 'Brak polaczenia z baza danych.';
  36. }
  37.  
  38. $wybrana = mysqli_select_db($mysql, 'uwierz');
  39. if(!$wybrana)
  40. {
  41. echo 'Blad wyboru bazy danych.';
  42. }
  43.  
  44.  
  45. $zapytanie = "select count(*) from uwierzytelnieni_uzytkownicy where
  46. uzytkownik = '$uzytkownik' and
  47. haslo = '$haslo'";
  48.  
  49. $wynik = mysqli_query( $mysql, $zapytanie );
  50. if(!$wynik)
  51. {
  52. echo 'Nie mozna wykonac zapytania.';
  53. }
  54.  
  55. $wiersz = mysqli_fetch_row( $wynik );
  56. $ile = $wiersz[0];
  57.  
  58. if ( $ile > 0 )
  59. {
  60.  
  61. echo '<h1>Oto ona!</h1>';
  62.  
  63. }
  64. else
  65. {
  66.  
  67. echo '<h1>Odejdz stad!</h1>';
  68.  
  69. }
  70. }
  71. ?>

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

create database uwierz;

use uwierz;

create table uwierzytelnieni_uzytkownicy (
uzytkownik varchar(20) not null,
haslo varchar(40) not null,
primary key (uzytkownik)
);

insert into uwierzytelnieni_uzytkownicy values
('uzytkownik', 'haslo');

insert into uwierzytelnieni_uzytkownicy values
( 'testowy', sha1('haslo') );

grant select on uwierz.*
to uwierzytel@localhost
identified by 'uwierzytel';

flush privileges;
Powód edycji: [Spawnm] dodałem BBcode
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 6)
TrevorGryffits
post
Post #2





Grupa: Zarejestrowani
Postów: 139
Pomógł: 24
Dołączył: 29.07.2007
Skąd: Tarnowskie Góry

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


Odpowiednią linijkę zamień na:
  1. $wynik = mysqli_query( $mysql, $zapytanie ) or mysqli_error();
Go to the top of the page
+Quote Post
maras_
post
Post #3





Grupa: Zarejestrowani
Postów: 18
Pomógł: 0
Dołączył: 9.08.2009

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


Niestety to nie pomogło i w dodatku wyświetla mi teraz komunikat "Warning: mysqli_error() expects exactly 1 parameter, 0 given in D:\Program Files\wamp\www\zastrz_baza.php on line 60"
Go to the top of the page
+Quote Post
TrevorGryffits
post
Post #4





Grupa: Zarejestrowani
Postów: 139
Pomógł: 24
Dołączył: 29.07.2007
Skąd: Tarnowskie Góry

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


Sorry. Miało być
  1. mysqli_error($mysql);
Go to the top of the page
+Quote Post
maras_
post
Post #5





Grupa: Zarejestrowani
Postów: 18
Pomógł: 0
Dołączył: 9.08.2009

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


Dalej to samo, może kwestia tkwi w zapytaniu sql ? A czy mógłbyś mi wyjaśnić co oznacza to ostrzeżenie ? Warning: mysqli_fetch_row() expects parameter 1 to be mysqli_result, boolean given in D:\Program pojawia się ono gdy usune pętle if (!$wynik). Jest mi potrzebny ten skrypt a nie mogę sobie dać z nim rady (IMG:style_emoticons/default/mellow.gif)
Go to the top of the page
+Quote Post
Spawnm
post
Post #6





Grupa: Moderatorzy
Postów: 4 069
Pomógł: 497
Dołączył: 11.05.2007
Skąd: Warszawa




maras_ używaj BBcode dla kodów które dajesz na forum, tym razem poprawiłem za ciebie, w przyszłości rób to sam.
Go to the top of the page
+Quote Post
TrevorGryffits
post
Post #7





Grupa: Zarejestrowani
Postów: 139
Pomógł: 24
Dołączył: 29.07.2007
Skąd: Tarnowskie Góry

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


Dalej mówi, że brakuje mu jednego parametru? Jak to mawiali starożytni Egipcjanie: NIEMOŻLIWE!:)
Błąd na 99% jest gdzieś w zapytaniu. Polecenie mysqli_error pomoże ci znaleźć gdzie.
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 24.08.2025 - 10:38