K4mil94
27.07.2010, 14:10:48
Witam, mam taki oto skrypt, tylko w tym problem że gdy próbuje się zalogować to cały czas mówi że wpisano złe dane gdy wpisuje dobre oO
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pl">
<head>
<meta http-equiv="Content-type" content="application/xhtml+xml; charset=utf-8" />
<meta name="Author" content=" Kamil P " />
<title>Logowanie</title>
<link rel="stylesheet" href=" login.css " type="text/css" />
</head>
<body>
<div class="top">
<img src="images/img_01.png" alt="top" /><img src="images/img_02.png" alt="top" />
</div>
<div class="text">
<?php
function Form() {
Login:<br />
<input type=text name=login /><br />
Hasło:<br />
<input type=password name=pass /><br />
<input type=submit name=submit value=Zaloguj />
</form>";
}
function Login() {
if(empty($login)||empty
($pass)) { echo "Nie wypełniono wszystkich pól!<br />"; } else {
$query = "SELECT * FROM `rp_users` WHERE login='$login'";
if($d['login'] != $login || $d['pass'] != $pass) {
echo "Podano złe dane!<br />"; } else {
$_SESSION['logged'] = true;
$_SESSION['login'] = $d['login'];
echo "Zalogowano poprawnie!<br />"; }
}
}
if(!isset($_POST['submit'])) { Form();
} else {
Login();
}
?>
</div>
<div class="footer">
<img src="images/img_08.png" alt="stopka" /><br />
<a href="http://validator.w3.org/check?uri=referer"><img src="http://www.w3.org/Icons/valid-xhtml11" alt="Valid XHTML 1.1" height="31" width="88" /></a><a href="http://jigsaw.w3.org/css-validator/check/referer"><img style="border:0;width:88px;height:31px" src="http://jigsaw.w3.org/css-validator/images/vcss" alt="Poprawny CSS!" />
</div>
</body>
</html>
blahy
27.07.2010, 15:00:38
po 1 troche nie na temat, ale w zapytaniu hasla nie sprawdzasz? tylko login?

po 2 wypisz sobie w takim razie w tym ifie gdzie ci wyswietla: Podano złe dane zmienne $login, $pass, $d['login] i $d['pass']. tam juz bedzie bardziej wiadomo gdzie jest blad
K4mil94
27.07.2010, 15:39:21
Ad 1 . Z tym tez nie działa

Ad 2 . oO tak jakby mysql_fetch_array nie działało
PanGuzol
27.07.2010, 15:59:46
Przyjrzyj się linom 41-43
K4mil94
27.07.2010, 16:02:24
już to poprawiłem, dalej nic.
Cysiaczek
27.07.2010, 16:25:40
Czyli jak to wygląda?
Postaraj się zdefiniować problem bardziej konkretnie (i zmień tym samym tytuł tematu).
lessi
27.07.2010, 16:33:14
Po drugie źle robisz:
po co ci funcja
addslashes jak i tak string jest już wtedy w md5, a wynikiem funkcji md5 są 32 znaki 0-9 i a-f
K4mil94
27.07.2010, 16:41:52
Teraz jest tak:
function Login() {
include_once("includes/dbcon.php");
$pass = md5($_POST['pass']);
if(empty($login)||empty
($pass)) { echo "Nie wypełniono wszystkich pól!<br />"; } else {
$query = "SELECT * FROM `rp_users` WHERE login='$login' AND pass='$pass'";
if($d['login'] != $login || $d['pass'] != $pass) {
echo "Podano złe dane!<br />"; } else {
$_SESSION['logged'] = true;
$_SESSION['login'] = $d['login'];
echo "Zalogowano poprawnie!<br />"; }
}
}
if(!isset($_POST['submit'])) { Form();
} else {
Login();
}
?>
Dalej nie działa ;]
evolucja
27.07.2010, 16:48:31
print_r($d)
K4mil94
27.07.2010, 16:51:52
Nie wyświetla nic :/
Neeke
27.07.2010, 16:55:00
a sprawdź i podaj ci wyświwetla taki zapis:
//----------
spóźniłem sie

///--------------------
To zamiast
$d w
print_r() zobacz co przekazujesz w
$_POST
K4mil94
27.07.2010, 16:55:39
Dalej nic ;/
@up: Array ( [login] => admin [pass] => admin [submit] => Zaloguj )
wskazuje że wszystko ok.
evolucja
27.07.2010, 17:05:38
Dalej nic? I my też do kurdy nędzy dalej nic nie wiemy. Albo zaczniesz pisać po ludzku albo w ogóle nie pomożemy.
Dalej nic:
- nic się nie wyświetliło?
- nic się nie wyświetliło co by mogło tobie pomóc?
- wyszedł błąd?
- nie wiesz o co chodzi z tym printem?
Neeke
27.07.2010, 17:07:27
To jeszcze inaczej
do wywołania zapytania dołącz taki kod
K4mil94
27.07.2010, 17:07:42
Nic się nie wyświetla, wiem o co chodzi z printem, ale on nic nie wyświetla.
@up: coś takiego : error:1054 Unknown column 'login' in 'where clause'
SQL:/->SELECT * FROM `rp_users` WHERE login='admin' AND pass='21232f297a57a5a743894a0e4a801fc3'
^ ten bład juz poprawiłem , ale dalej nie loguje .
Neeke
27.07.2010, 17:13:40
Czyli sprawa jasna
Odwołujesz się do nieistniejącej kolumny
A dane sa napewno takie same jak w bazie danych czyli
21232f297a57a5a743894a0e4a801fc3 <- taki masz wpis w bazie danych jako hasło?
evolucja
27.07.2010, 17:14:48
szybszy był
K4mil94
27.07.2010, 17:17:52
Ten problem rozwiązany tylko jeszcze jeden problem :
function Install() {
$adminpass = md5($_POST['adminpass']);
if(empty($adminpass)||empty
($key)) { echo "Nie wypełniono wszystkich pól!<br />"; } else {
include_once("../includes/dbcon.php");
$query = "INSERT INTO `rp_users` (`id`, `login`, `pass`, `auth`) VALUES ('', 'admin', '$adminpass', '1');";
echo " Usuń katalog /install z serwera! Login administratora to : admin";
}
}
Nie dodaje uzytkownika.
Neeke
27.07.2010, 17:19:53
Jak masz w bazie danych autoincrement na Id to to pomijasz pierwszy wpis w tym przypadku '',...
@UP
Jeszcze raz spojżałem na ten zapis do bazy danych, faktycznie nie musi pomijać moja nie uwaga
evolucja
27.07.2010, 17:19:55
Przecież miałeś ten sam błąd powyżej:
error:1054 Unknown column 'login'
@UP
Nic nie musi pomijać
K4mil94
27.07.2010, 17:22:17
Zmieniłem właśnie nazwe tej kolumny na login i logowanie działa

Tylko tutaj nie dodaje usera

Nie wiem czy to wina webserva czy jak bo na cba dodało oO
evolucja
27.07.2010, 17:25:13
W takim razie podziękuj.
Kurde, włącz myślenie i próbuj samemu.. Zmień 12 linijkę z poprzedniej strony na dole na:
mysql_query($query) or die('error:'. mysql_errno().' ' . mysql_error().' <br/> SQL:/->'.$query);
i błąd masz podany na tacy.
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.