Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Logowanie PHP + MySQL nie zidentyfikowany problem
Forum PHP.pl > Forum > PHP
kamilkomo
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
P4vl0
Kod
$db = mysql_select_db('test', $connection);

Cytat
Nazwa bazy : ksiazki

Wybierasz złą bazę? Proponowałbym używanie funkcji "mysql_query" do wykonywania zapytań.
blooregard
~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
kamilkomo
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?
P4vl0
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.
kamilkomo
Dziekuje P4vl0 smile.gifsmile.gifsmile.gif Pomoglo i smiga swietnie smile.gif jeszcze raz dziekuje smile.gif
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.