MateuszS
24.12.2008, 12:11:21
Hey! To znowu ja ;] Chcialem napisac skrypt rejestracji użytkownika. Mam bazę "login" tabelę o nazwie "tabela" a w niej 3 rekordy: ID, Login, Haslo.
[ 3ccd php]
[/php]
Po próbie rejestracji wywala mi błąd:
Kod
[color="red"]Out of range value adjusted for column 'id' at row 1
[/color]
Cysiaczek
24.12.2008, 12:25:45
Jaka jest wartość ostatniego pola id w bazie i jakie ma ono typ?
ddiceman
24.12.2008, 12:50:50
zmien
<?php
$zapytanie = mysql_query("INSERT INTO `tabela` ('id', `login`, `haslo`) VALUES ('', '".$uzytkownik."', '".$haslo."')");
?>
na
<?php
$zapytanie = mysql_query("INSERT INTO `tabela` ('id', `login`, `haslo`) VALUES (NULL, '".$uzytkownik."', '".$haslo."')");
?>
poza tym zwroc uwage, ze do Twojego skryptu mozna wpisac puste haslo (2 razy puste)
MateuszS
24.12.2008, 13:11:51
Po zamienieniu kodu
Kod
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''id', `login`, `haslo`) VALUES (NULL, 'Mateusz', 'lalala')' at line 1
Cos z tym NULL chyba trzeba zrobic ale nie wiem....
http://img228.imageshack.us/img228/6540/42155802bv1.th.jpg
seba22
24.12.2008, 14:24:32
mysql_query("INSERT INTO `tabela` (login,haslo) VALUES ('$uzytkownik','$haslo')") OR die (mysql_error());
pamiętaj o ustawieniu ID -> AUTO INCREMENT
Cysiaczek
24.12.2008, 14:29:01
Matko! Ile mam pytać - dane o Twojej tabeli poproszę!
@ddiceman - i ten null, to co miał niby naprawić?
MateuszS
24.12.2008, 15:01:04
Cysiaczek podalem ci te dane w screenie link w moim poscie powyzej
Seba22, po probie ustawienia w PHPMYADMIN auto_icostam
Kod
Błąd
zapytanie SQL:
ALTER TABLE `tabela` CHANGE `id` `id` INT( 1 ) NOT NULL AUTO_INCREMENT
MySQL zwrócił komunikat: Dokumentacja
#1075 - Incorrect table definition; there can be only one auto column and it must be defined as a key
a bez tego auto costam, gdy probuje zarejestrowac uzytkownika.


Kod
Field 'id' doesn't have a default value
Cysiaczek
24.12.2008, 15:14:28
thumbnaila podałeś - lupy nie mam

Daj autoincrement jak Ci powiedział ~seba22
seba22
24.12.2008, 15:35:03
Cytat(MateuszScirka @ 24.12.2008, 15:01:04 )

Cysiaczek podalem ci te dane w screenie link w moim poscie powyzej
Seba22, po probie ustawienia w PHPMYADMIN auto_icostam
Kod
Błąd
zapytanie SQL:
ALTER TABLE `tabela` CHANGE `id` `id` INT( 1 ) NOT NULL AUTO_INCREMENT
MySQL zwrócił komunikat: Dokumentacja
#1075 - Incorrect table definition; there can be only one auto column and it must be defined as a key
a bez tego auto costam, gdy probuje zarejestrowac uzytkownika.


Kod
Field 'id' doesn't have a default value
wykonaj to
<?php
ALTER TABLE tablea ADD PRIMARY
KEY (id
);?>
A potem auto increment, i powinno hulać...
MateuszS
24.12.2008, 16:56:10
Kod
$zapytanie = mysql_query("INSERT INTO `tabela` ('id', 'login', 'haslo')
VALUES ('', '".$uzytkownik."', '".$haslo."')");
Kod
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''id', 'login', 'haslo') VALUES (Mateusz', '1')' at line 1
Niestety, ustawilem ten primary key itd ale dalej sie to robi
seba22
24.12.2008, 20:59:06
Teraz zgłasza błąd w składni.
Spróbuj tak...
$zapytanie = mysql_query("INSERT INTO `tabela` ('login', 'haslo')
VALUES ('$uzytkownik','$haslo')");
MateuszS
24.12.2008, 21:05:22
Przykro mi... nie dziala

Probowalem juz z tymi " ' " itd ale nie wychodzi, nie mam pojecia co jest nie tak.
seba22
24.12.2008, 21:16:19
Jaki błąd, bo samo "nie działa" to mało...
Wyrzuc przez echo, treść zapytania, i wrzuć ją recznie przez phpmyadmina, i sprawdz na czym się wyłoży

Jak tego nie umiesz, zrobić, to daj mi drop tabeli, to Ci to machnę...
Tylko muszę wiedziec na czym pracujesz
Cysiaczek
24.12.2008, 21:16:20
Mieszasz kolego. Tu żadnej filozofii nie ma. Nadaj autoincrement na pole ID i długość wartości na większą niż 1. Daj 8.
Skoro masz ID 10, to się nie mieści, bo maks to 1-9, skoro długość wartości to 1, prawda?
Pozdrawiam
MateuszS
24.12.2008, 21:24:10
Cytat(Cysiaczek @ 24.12.2008, 21:16:20 )

<br />Mieszasz kolego. Tu żadnej filozofii nie ma. Nadaj autoincrement na pole ID i długość wartości na większą niż 1. Daj 8.<br />Skoro masz ID 10, to się nie mieści, bo maks to 1-9, skoro długość wartości to 1, prawda?<br /><br />Pozdrawiam<br />
<br /><br /><br />
Mialem ustawione autoincrement. Zrobilem to w PHPMyAdmin. Sprobowalem tez z tym ID lecz nadal nie dziala.
Seba22
Sprobowalem wrzucic cokolwiek recznie przez Phpmyadmin
Kod
INSERT INTO `tabela` ('id', 'login', 'haslo') VALUES ('', '.Mateusz', '12345')
Co dalo
Kod
Błąd
zapytanie SQL:
INSERT INTO `tabela` ( 'id', 'login', 'haslo' )
VALUES (
'', '.Mateusz', '12345'
)
MySQL zwrócił komunikat: Dokumentacja
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''id', 'login', 'haslo') VALUES ('', '.Mateusz', '12345')' at line 1
Nie wiem czy o to Ci chodzilo.
seba22
24.12.2008, 23:06:59
Cytat(MateuszScirka @ 24.12.2008, 21:24:10 )

<br /><br /><br />
Mialem ustawione autoincrement. Zrobilem to w PHPMyAdmin. Sprobowalem tez z tym ID lecz nadal nie dziala.
Seba22
Sprobowalem wrzucic cokolwiek recznie przez Phpmyadmin
Kod
INSERT INTO `tabela` ('id', 'login', 'haslo') VALUES ('', '.Mateusz', '12345')
Co dalo
Kod
Błąd
zapytanie SQL:
INSERT INTO `tabela` ( 'id', 'login', 'haslo' )
VALUES (
'', '.Mateusz', '12345'
)
MySQL zwrócił komunikat: Dokumentacja
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''id', 'login', 'haslo') VALUES ('', '.Mateusz', '12345')' at line 1
Nie wiem czy o to Ci chodzilo.
Daj dropa tabeli, i wklej kod... bo padne, przy tak prostym zapytaniu się wykłada że się pociąć można...
MateuszS
24.12.2008, 23:22:06
To to zapytanie sie wykłada. A drop to jest w WoWie z mobów. Raczej w większości śmiecie ale czasami jakiś epik padnie. A do questów to już wogóle nie lecą ity pow. 60 levela.
Hmm dziwne ;D
DROP TABLE tabela; xDxD

To jak go zrobić ;> dropa
decha-design
24.12.2008, 23:25:37
Cytat(MateuszScirka @ 24.12.2008, 23:22:06 )

To to zapytanie sie wykłada. A drop to jest w WoWie z mobów. Raczej w większości śmiecie ale czasami jakiś epik padnie. A do questów to już wogóle nie lecą ity pow. 60 levela.
Hmm dziwne ;D
DROP TABLE tabela; xDxD

To jak go zrobić ;> dropa
tutaj pasuje tylko jedno określenie ... 'ja pierdole' - przepraszam, ale musiałem ...
MANUAL
poza tym, może
INSERT INTO tabela (id, login, haslo) VALUES (NULL, 'Mateusz', '12345')
poza tym seba, chyba nie o drop ci chodziło tylko export?
MateuszS
24.12.2008, 23:29:15
o export to juz kojarze poza tym insert into probowalem
potreb
24.12.2008, 23:31:10
Kolego, tutaj niektórzy zrezygnowali z wigilii, a ty wałkujesz to samo.
Eksportuj tabele z która masz problem, wklej tu kod SQL, i PHP i wtedy wszyscy poznają w czym problem. Dodatkowo stosuj dla zapytań or die(mysql_error());
$zapytanie = mysql_query("INSERT INTO `tabela` ('login', 'haslo')
VALUES ('$uzytkownik','$haslo')") or die(mysql_error());
Wtedy pokaże ci błąd.
Poczytaj też o podstawach. Poszukaj innych systemów rejestracji na tym forum, bo było ich wiele.
decha-design
24.12.2008, 23:31:59
Cytat(MateuszScirka @ 24.12.2008, 23:29:15 )

o export to juz kojarze poza tym insert into probowalem
bardziej chodziło mi o sprobowanie TEGO zapytania, może ono działa

'
A co do export / drop ... to drop raczej usuwa tabelę
seba22
25.12.2008, 09:35:44
Przepraszam, oczywiście miałem na myśli export tabeli, nie wiem co mnie popieprzyło że napisałem drop ( mam nadzieję że sobie nic nie skasowałeś ).
Gdzieś w jakimś sofcie miałem " Drop table to disk" i mi zapisywało export ^^ -> echhh ^^
Wklejaj exporta, z mysql-a i patrzymy.
MateuszS
25.12.2008, 10:38:49
Napisalem DROP i skasowalem, tak myslalem ze to delete ale i tak ta tabela byla prosta, 2 min i jest spowrotem

A oto dane o ktore prosiliscie:
http://www.speedyshare.com/179547919.html - backup tabeli
Puki co moj kod wyglada tak: nie chcialem nic zmieniac.
Kod
<html>
<head>
<title>Rejestracja</title>
<meta http-equiv="Content-type" content="text/html; charset=UTF-8" />
</head>
<body bgcolor="black" alink="white" vlink="white" link="white">
<center>
<br /><br /><br /><br /><br />
<table>
<tr>
<td>
<center>
<font color="red">
<?php
include("baza.php");
$uzytkownik = $_POST['uzytkownik'];
$haslo = $_POST['haslo'];
$haslo1 = $_POST['rehaslo'];
if(( $haslo != $haslo1) OR empty($uzytkownik) OR empty($haslo) OR empty($haslo1))
{
echo 'Podane przez Ciebie dane są nieprawidłowe.<br />';
echo '<a href="rejestracja.html">Spróbuj ponownie.</a>';
}
else
{
$zapytanie = mysql_query("INSERT INTO `tabela` ('id', 'login', 'haslo') VALUES ('', '".$uzytkownik."', '".$haslo."')");
if(!$zapytanie)
{
echo mysql_error();
}
else
{
echo 'Rejestracja zakończona pomyślnie. Możesz się zalogować';
echo '<a href="index.html">Powrót</a>';
}
}
?>
</font>
</center>
</td>
</tr>
</table>
</center>
</body>
</html>
decha-design
25.12.2008, 10:44:36
na bank błąd masz tutaj
('id', 'login', 'haslo')
powinno być
(`id`, `login`, `haslo`)
... zamiast ' powinny być ` (te spod tyldy ~)...
a struktura wygląda dobrze ... o.O'
seba22
25.12.2008, 10:59:32
Wrzuć to:
-- phpMyAdmin SQL Dump
-- version 3.1.1
--
-- Host: localhost:3306
-- Czas wygenerowania: 25 Gru 2008, 10:57
-- Wersja serwera: 5.0.67
-- Wersja PHP: 5.2.8-0.dotdeb.1
SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
--
-- Baza danych: `37_w`
--
-- --------------------------------------------------------
--
-- Struktura tabeli dla `tabela`
--
CREATE TABLE IF NOT EXISTS `tabela` (
`id` int(10) NOT NULL AUTO_INCREMENT,
`login` varchar(255) NOT NULL,
`haslo` varchar(255) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=2 ;
--
-- Zrzut danych tabeli `tabela`
--
I dodaj wpis:
INSERT INTO `baza`.`tabela` (
`id` ,
`login` ,
`haslo`
)
VALUES (
NULL , 'test', 'test'
);
MateuszS
25.12.2008, 11:04:36
Out of range value adjusted for column 'id' at row 1 znowu ;/
Ok zaraz zobacze
Seba nie mialem tabeli "baza" wiec usunalem ten kawalek i dodalem do 'tabela' i weszlo czyli wpisujac do SQL w phpmyadmin dziala normalnie ale rejestracja nie dziala dalej
Nie moge kazdego uzytkownika osobno do bazy dodawac ;] Cos zle w PHP kodzie pewnie
piotrooo89
25.12.2008, 11:06:01
a na 100% masz poprawnie skonfigurowane połączenie z bazą?
MateuszS
25.12.2008, 11:10:04
Kod
<?php
include("baza.php");
?>
baza.php
Kod
<?php
$polaczenie = mysql_connect('localhost', 'root', 'root');
$db = mysql_select_db('login', $polaczenie);
?>
seba22
25.12.2008, 11:11:02
Ma na 100 % bo SQL odpowiada błędem, czyli próbuje wykonać zapytanie, inaczej dostał by "Accces Dymanie".
Żeby się nie rozpisywać, tu masz kod który przed chwilą sprawdziłem z tabelą którą Ci podałem.
<?php
$login="test";
$haslo="test";
?>
Wrzucaj go w skrypt, i powiedz czy śmiga.
MateuszS
25.12.2008, 11:27:31
smiga

juz wiem co przerobic zaraz zmodyfikuje kod i powiem czy dziala
Jeeaaaaa
Kod
<html>
<head>
<title>Rejestracja</title>
<meta http-equiv="Content-type" content="text/html; charset=UTF-8" />
</head>
<body bgcolor="black" alink="white" vlink="white" link="white">
<center>
<br /><br /><br /><br /><br />
<table>
<tr>
<td>
<center>
<font color="red">
<?php
include("baza.php");
$login = $_POST['uzytkownik'];
$haslo = $_POST['haslo'];
$haslo1 = $_POST['rehaslo'];
$zapytanie = mysql_query("INSERT INTO `tabela` (login,haslo) VALUES ('$login','$haslo')") or die (mysql_error());
if($haslo != $haslo1 or empty($haslo) or empty($haslo1) or empty($login))
{
echo 'Wprowadziłeś nie poprawne dane';
}
elseif ($zapytanie)
{
echo 'Brawo. Teraz możesz się zalogować!<br />';
echo '<center><a href="index.html">Powrót</a></center>';
}
?>
</font>
</center>
</td>
</tr>
</table>
</center>
</body>
</html>
Jestescie wspaniali, dzieki wam serdeczne ale zapewniam was ze jeszcze sie odezwe ;];];] Dziekuje jeszcze raz.
seba22
25.12.2008, 11:31:12
Zabezpiecz się przed SQL injection i XSS.
Przefiltruj zmienne przed dodaniem takim czymś:
$haslo=mysql_escape_string(htmlspecialchars($haslo));
Bo inaczej, twoja radośc będzie trwała tylko kilka godzin
MateuszS
25.12.2008, 12:05:53
Zrobione ;] Teraz logowanie. Chodzi o to ze raczej nikt nie bedzie chcial atakowac tej strony bo to tzw strona testowa. Ale dzieki, na przyszlosc bede wiedzial. Prosze nie zamykac tematu jak cos tu bede pisal o dalszych klopotach zeby nie robic new topica
No dobra wrocilem

Mam takie cuś
Nie jest to dobrze skoro wywala mi blad
Kod
<html>
<head>
<title>Logowanie</title>
</head>
<body vlink="white" alink="white" link="white" bgcolor="black">
<br /><br /><br /><br />
<center>
<?php
include("baza.php");
$login = $_POST['uzytkownik'];
$haslo = $_POST['haslo'];
$haslo=mysql_escape_string(htmlspecialchars($haslo));
$zapytanie = mysql_query("SELECT `login`,`haslo` FROM `tabela` WHERE `login`=('$login'), `haslo`=('$haslo')")
if (empty($login) or empty($haslo))
{
echo 'Nie możesz się zalogować z pustych pól<br />';
echo '<center><a href="logowanie.html">Spróbuj ponownie</a></center>';
}
elseif (!$zapytanie)
{
echo 'Wprowadzone przez Ciebie dane są nie prawidłowe<br />';
echo '<center><a href="logowanie.html">Spróbuj ponownie</a></center>';
}
elseif ($zapytanie)
{
echo 'Brawo udało Ci się';
}
?>
</center>
</body>
</html>
Blad cos z IF ale nie widze go.
Kod
Parse error: syntax error, unexpected T_IF in C:\xampp\htdocs\ankieta\logowanie.php on line 20
Takie logowanie to ponoć sie na sesjach robi ;]
Lion_87
25.12.2008, 13:00:09
Nie wiem ale może spróbuj dać średnik na końcu linii gdzie masz zapytanie.
MateuszS
25.12.2008, 21:50:28
Fakt ale mam zaciemnie dziś... tyle że coś jest źle z $zapytanie (do bazy) zaraz sie pobawie, sam pisalem wiec moze byc blad
chyba bede potrzebowal jednak pomocy

Kod
$zapytanie = mysql_query("SELECT (login,haslo)
FROM `tabela`
WHERE (login='$login') AND (haslo='$haslo')");
tu jest cos zle
seba22
25.12.2008, 21:56:54
Achh, ponuraku a można by tak:
<?php
$q = mysql_query("SELECT * FROM `uzytkownicy` WHERE login = '$login' AND haslo = '$haslo'") or
die (mysql_error()); // queruqka usercia
if ($r == 1)
{
}
else
{
}
?>
MateuszS
25.12.2008, 21:58:28
OK udalo mi sie ;P Samemu ;]
Kod
$zapytanie = mysql_query("SELECT login,haslo
FROM `tabela`
WHERE (login='$login') AND (haslo='$haslo')");
Mniej wiecej tak to ma wygladac ;]
piotrooo89
25.12.2008, 22:01:09
MateuszS
25.12.2008, 22:29:48
Dzieki ;] A ten mam jeszcze pytanie
Pomozecie napisac skrypt ktory by obrazowal wyniki testu Mniej wiecej tak:
1. [login] - poprawnych odpowiedzi x na x i tu jakas petla
2. [login jakiegos innego ziomka] - -||-
3
4
piotrooo89
25.12.2008, 22:32:25
robisz w bazie w której bedziesz trzymał np ID jakiegoś kolesia i jego odpowiedzi. np. dobre i błędne. później SELECT'em wybierasz ilość interesujących Cię danych. ja bym coś w ten deseń zrobił.
MateuszS
25.12.2008, 22:35:27
PS jak zrobic tez zeby nie dalo sie wejsc do testu jesli sie nie zalogowales ? bo wystarczy wpisac adres w przegladarce i kolo wchodzi bez zalogowania
piotrooo89
25.12.2008, 22:37:28
w moim skrypcie (linku który Ci podałem) masz tam napisane jak sprawdzić czy ktoś się zalogował.
MateuszS
25.12.2008, 22:43:57
Kod
<?php
ob_start();
session_start();
if(!session_is_registered("uzytkownik"))
{
header("Location: login.php");
}
ob_end_flush();
?>
Jak tu zinterpretowac "uzytkownik" oraz czy trzeba cos dodac do tego skryptu? ;>
Przepraszam za to ze tak ciagne za jezyk ale dzis caly dzien sie z glupim zapytaniem meczylem

a chce to juz miec za soba i na przyszlosc wszystko wiedziec
A i czy gdy w logowaniu nie zastosowalem sesji ten skrypt nie bedzie dzialal?
piotrooo89
25.12.2008, 22:46:44
no jest to sesja którą rejestruje w czasie pozytywnego logowania do bazy... jeśli nie ma takiej zarejestrowanej sesji przenosi nas do strony logowania.
MateuszS
25.12.2008, 22:51:07
Kod
<html>
<head>
<title>Logowanie</title>
</head>
<body vlink="white" alink="white" link="white" bgcolor="black">
<br /><br /><br /><br />
<center>
<font color="blue">
<?php
include("baza.php");
$login = $_POST['uzytkownik'];
$haslo = $_POST['haslo'];
$haslo=mysql_escape_string(htmlspecialchars($haslo));
$zapytanie = mysql_query("SELECT login,haslo
FROM `tabela`
WHERE (login='$login') AND (haslo='$haslo')");
if (empty($login) or empty($haslo))
{
echo 'Nie możesz się zalogować z pustych pól<br />';
echo '<center><a href="logowanie.html">Spróbuj ponownie</a></center>';
}
elseif (!$zapytanie)
{
echo 'Wprowadzone przez Ciebie dane są nie prawidłowe<br />';
echo '<center><a href="logowanie.html">Spróbuj ponownie</a></center>';
}
elseif ($zapytanie)
{
echo '<META HTTP-EQUIV="Refresh" CONTENT="1;URL=ankieta.html">';
}
?>
</font>
</center>
</body>
</html>
Caly moj skrypt, bez sesji, a gdy dodalem to do kodu ankiety (ktora ma byc uruchomiona po logowaniu) wywala
Kod
Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at C:\xampp\htdocs\ankieta\ankieta.php:1) in C:\xampp\htdocs\ankieta\ankieta.php on line 3
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at C:\xampp\htdocs\ankieta\ankieta.php:1) in C:\xampp\htdocs\ankieta\ankieta.php on line 3
Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\ankieta\ankieta.php:1) in C:\xampp\htdocs\ankieta\ankieta.php on line 7
fghfhf
piotrooo89
25.12.2008, 22:53:13
na moim blogu masz również rozwiązanie tego problemu... poszukaj tu też było kilka razy (sorry kilkadziesiąt razy)
MateuszS
25.12.2008, 22:53:54
Zastosowalem sie do tego z headerem ale mimo to sie tak dzieje...
piotrooo89
25.12.2008, 22:57:07
dodaj na samym początku i zadbaj o to aby nic przed tym nie było (znaki, również białe spacje, tabulatory i entery)
MateuszS
25.12.2008, 23:01:10
Sory (bez BOM) - zle to zrozumialem ;P Przepraszam
Dziala idealnie ;] Teraz trzeba sie zalogowac zeby mozna bylo wejsc na strone ;];]
Hee tyle ze po zalogowaniu tez kaze sie logowac oO ;D Cos jest jednak zle...
piotrooo89
25.12.2008, 23:06:34
dobrą stronę header'em przekazujesz? pokaż kod logowania bo tak nic nie wywnioskujemy.
MateuszS
25.12.2008, 23:10:34
Kod logowania jest powyzej (logowanie.php)
a oto to co zrobiłem w ankieta.php
Kod
<?php
ob_start();
session_start();
if(!session_is_registered("uzytkownik"))
{
header("Location: logowanie.php");
}
ob_end_flush();
?>
<html>
<head>
<title>Das testen!</title>
<meta http-equiv="Content-type" content="text/html; charset=UTF-8" />
</head>
<body alink="white" vlink="white" link="white" bgcolor="black">
<form action="wynik.php" method="POST">
<center>
<font size="6" face="verdana" color="white">Test na "mondrość". Zapraszam</font>
</center>
<font color="white">
<p>1. Co jesz gdy jesteś głodny?</p>
<ol>
<li><input type="radio" name="p1" value="1" />
Zupę.</li>
<li><input type="radio" name="p1" value="2" />
Cokolwiek.</li>
<li><input type="radio" name="p1" value="3" />
Nie jem nic.</li>
</ol>
<p>
</form>
</body>
</html>
Niedokończone
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.