Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Logowanie PHP + MySQL nie zidentyfikowany problem
kamilkomo
post 13.04.2010, 20:31:31
Post #1





Grupa: Zarejestrowani
Postów: 42
Pomógł: 0
Dołączył: 13.04.2010

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


Witam forumowiczow smile.gif

Pisze wlasnie strone www i mam jakis problem ze zrobieniem logowania. Zaczne od bazy danych >

---------------------------------------------------------------------------------------------------------------------------
Baza oparta na MySQL z EASY PHP 3.0

Nazwa bazy : ksiazki
Nazwa tabeli : users
Pola w tabeli users :
id - INT NOT NULL AUTO_INCREMENT PRIMARY KEY
login - VARCHAR(50)
haslo - VARCHAR(35)
--------------------------------------------------------------------------------------------------------------------------

Plik strony index.php ktory zawiera formularz logowania:

<div id="login">

<form action="zaloguj.php" method="post">
<table border="0">
<tr>
<td>Login</td><td><input type="text" name="login" size="50"></td>
<td>Hasło</td><td><input type="password" name="haslo" size="35"></td>
<td><input type="submit" value="Zaloguj"></td>
<td> Nie masz konta ?<a href="rejestracja.php" >Zarejestruj sie</a></td>
</tr>
</table>
</form>
</div>
---------------------------------------------------------------------------------------------------------------------------

Plik logowania zaloguj.php ze scryptem

<div id="login">

<?php

$login = mysql_real_escape_string($_POST['login']);
$haslo = mysql_real_escape_string($_POST['haslo']);


$connection = mysql_connect("localhost", "kamil", "*****l");

$db = mysql_select_db('test', $connection);


$result = mysql_db_query ("SELECT * FROM users WHERE login='$login' AND haslo='$haslo'");

if (mysql_num_rows($result) != 0) {
echo "Cześć $login";
} else {
echo 'Błąd logowania';
}
?>
</div>
--------------------------------------------------------------------------------------------------------------------------
Dodalem oczywiscie do bazy przykladowego usera i nie zaleznie od tego czy podam poprawne dane czy tez nie to za kazdym razem otrzymuje komunikat "BLAD LOGOWANIA". Jesli mogl by mi ktos pomoc bede zobowiazany. Przeszukalem podobne posty jednak rozwiazania problemu nie znalazlem sad.gif Za jaka kolwiek pomoc z gory dziekuje smile.gif pozdrawiam
Go to the top of the page
+Quote Post
P4vl0
post 13.04.2010, 20:35:28
Post #2





Grupa: Zarejestrowani
Postów: 17
Pomógł: 2
Dołączył: 13.04.2010

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


Kod
$db = mysql_select_db('test', $connection);

Cytat
Nazwa bazy : ksiazki

Wybierasz złą bazę? Proponowałbym używanie funkcji "mysql_query" do wykonywania zapytań.

Ten post edytował P4vl0 13.04.2010, 20:38:44
Go to the top of the page
+Quote Post
blooregard
post 13.04.2010, 20:44:06
Post #3


Newsman


Grupa: Moderatorzy
Postów: 2 033
Pomógł: 290
Dołączył: 21.12.2007
Skąd: Łódź




~kamilkomo, proszę używać BBCode.

  1. $result = mysql_db_query ("SELECT * FROM users WHERE login='$login' AND haslo='$haslo'");

Proponowałbym zajrzeć do manuala i zobaczyć, jakie argumenty przyjmuje mysql_db_query:

http://php.net/manual/pl/function.mysql-db-query.php
Powód edycji: [blooregard]:


--------------------
Life's simple... You make choices and don't look back...
Go to the top of the page
+Quote Post
kamilkomo
post 13.04.2010, 20:48:08
Post #4





Grupa: Zarejestrowani
Postów: 42
Pomógł: 0
Dołączył: 13.04.2010

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


Faktycznie zrobilem literowke w nazwie bazy, poprawa oraz zmiana funkcji mysql_db_query na mysql_query niestety nie rozwiazuje problemu . Nadal jest ten sam blad sad.gifsad.gifsad.gifsad.gifsad.gif

Sorki blooregard , oczywiscie obiecuje poprawe, a moze ty masz jakis pomysl co do mojego problemu?
Go to the top of the page
+Quote Post
P4vl0
post 13.04.2010, 20:55:32
Post #5





Grupa: Zarejestrowani
Postów: 17
Pomógł: 2
Dołączył: 13.04.2010

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


Kod
<?php

$login = $_POST['login'];
$haslo = $_POST['haslo'];


$connection = mysql_connect("localhost", "kamil", "*****l");

$db = mysql_select_db('ksiazki', $connection);


$query = sprintf("SELECT * FROM users WHERE login='%s' AND haslo='%s'",
            mysql_real_escape_string($login),
            mysql_real_escape_string($haslo));

$result = mysql_query($query, $connection);

if (mysql_num_rows($result) != 0) {
echo "Cześć $login";
} else {
echo 'Błąd logowania';
}
?>


Jeżeli to nie podziała, spróbuj wykonać zapytanie "SELECT * FROM users" i sprawdź czy cokolwiek zwróci.
Go to the top of the page
+Quote Post
kamilkomo
post 13.04.2010, 21:02:16
Post #6





Grupa: Zarejestrowani
Postów: 42
Pomógł: 0
Dołączył: 13.04.2010

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


Dziekuje P4vl0 smile.gifsmile.gifsmile.gif Pomoglo i smiga swietnie smile.gif jeszcze raz dziekuje smile.gif
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: 6.07.2025 - 18:50