![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 17 Pomógł: 0 Dołączył: 23.03.2012 Ostrzeżenie: (0%) ![]() ![]() |
Witam, mam taki kod:
Kod if ($u && $p) { $query = "SELECT user_id, first_name FROM users WHERE username='$u' AND password=PASSWORD('$p')"; $result = @mysql_query ($query); $row = mysql_fetch_array ($result, MYSQL_NUM); if ($row) { setcookie ('first_name', $row[1]); setcookie ('user_id', $row[0]); header ("Location: http://" . $_SERVER['HTTP_HOST'] . dirname($_SERVER['PHP_SELF']) . "/zalogowany.php"); exit(); } else { $message = 'Wprowadzona przez ciebie nazwa użytkownika i hasło nie zgadzają się z naszymi danymi'; } Co jest z nim źle że nie pobiera mi cisteczek podczas logowania i wyskakuje "suchy" komunikat o nieistniejących danych które są pwrowadzone do bazy. |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 1 527 Pomógł: 438 Dołączył: 28.06.2011 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
-------------------- If you're good at something, never do it for free.
Potrzebujesz skryptu JS lub PHP - szukasz kogoś kto przetestuje twoją aplikację pod względem bezpieczeństwa? Szybko i solidnie? Napisz ;) Mój blog - Jak zwiększyć wydajność front-endu - O buforowaniu wyjścia w PHP słów kilka... |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 17 Pomógł: 0 Dołączył: 23.03.2012 Ostrzeżenie: (0%) ![]() ![]() |
Cześć, to zrobiłęm zgdonie z przykładem
Kod setcookie("TestCookie", $value); pobieram parametry first name i $row ? czy to masz na myśli ? |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 1 527 Pomógł: 438 Dołączył: 28.06.2011 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Proponuje dodać ważność ciasteczek oraz ścieżkę:
3 argument to czas życia ciasteczka w sekundach od 1970 roku... jeśli tego nie ustawiasz to cookie będzie zapisane do zamknięcia przeglądarki ale to może nie działać wszędzie dobrze - lepiej podac jakiś czas - ja podałem na przykład 10 minut. 4 argument to ścieżka - jeśli chcesz mieć globalnie ciasteczko na całej stronie (a w tym przypadku chyba raczej tak) to daj na główny folder czyli '/'. EDIT: Pokaż jeszcze kod gdzie odczytujesz dane z ciasteczek A w ogóle to lepiej uruchomić sesje i korzystać z sesji do trzymania info o zalogowanym userze (zapoznaj się z $_SESSION i session_start()) Ten post edytował Sephirus 28.03.2012, 08:20:21 -------------------- If you're good at something, never do it for free.
Potrzebujesz skryptu JS lub PHP - szukasz kogoś kto przetestuje twoją aplikację pod względem bezpieczeństwa? Szybko i solidnie? Napisz ;) Mój blog - Jak zwiększyć wydajność front-endu - O buforowaniu wyjścia w PHP słów kilka... |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 171 Pomógł: 18 Dołączył: 17.04.2006 Skąd: Bydgoszcz Ostrzeżenie: (0%) ![]() ![]() |
Chodzi mu o czas życia ciastka, czyli trzeci parametr. Jeżeli go nie określisz, ciastko ginie po zamknięciu przeglądarki.
-------------------- www.fachoweuslugi.pl | www.zlec-usluge.pl | www.pokazsie.pl
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 17 Pomógł: 0 Dołączył: 23.03.2012 Ostrzeżenie: (0%) ![]() ![]() |
Dziękuje, ale to nie pomogło problem chyba polega na tym że nie pobiera mi wartości z bazy o które prosze w poleceniu SQL
dlatego wyrażenie warunkowe podaje mi komunikat że nie wpisałem nic w pola wejściowe. A dane które chcę pobrać są w bazie więc nie wiem. |
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 1 527 Pomógł: 438 Dołączył: 28.06.2011 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
A no to trzeba było tak od razu...
Przede wszystkim zamiast: Daj: i zobacz co Ci wyświetla. -------------------- If you're good at something, never do it for free.
Potrzebujesz skryptu JS lub PHP - szukasz kogoś kto przetestuje twoją aplikację pod względem bezpieczeństwa? Szybko i solidnie? Napisz ;) Mój blog - Jak zwiększyć wydajność front-endu - O buforowaniu wyjścia w PHP słów kilka... |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 17 Pomógł: 0 Dołączył: 23.03.2012 Ostrzeżenie: (0%) ![]() ![]() |
Nic, ta sama reakcja pozwole sobie wrzucić cały kod może dojrzysz coś czego ja nie widze.
Kod <?php
if (isset($_POST['submit'])) { require_once ('../mysql_connect.php'); function escape_data($data) { global $dbc; if (ini_get('magic_quotes_gpc')) { $data = stripslashes($data); } return mysql_real_escape_string($data, $dbc); } $message = NULL; if (empty($_POST['username'])) { $u = FALSE; $message .= 'Zapomniałeś wpisać swój nick'; } else { $u = escape_data($_POST['username']); } if (empty($_POST['password'])) { $p = FALSE; $message .= 'Zapomniałeś wprowadzić hasło'; } else { $p = escape_data($_POST['password']); } if ($u && $p) { $query = "SELECT user_id, first_name FROM users WHERE username='$u' AND password=PASSWORD('$p')"; $result = @mysql_query ($query); $row = mysql_fetch_array ($result, MYSQL_NUM); if ($row) { setcookie ('first_name', $row[1], time()+600, '/'); setcookie ('user_id', $row[0], time()+600, '/'); header ("Location: http://" . $_SERVER['HTTP_HOST'] . dirname($_SERVER['PHP_SELF']) . "/zalogowany.php"); exit(); } else { $message = 'Wprowadzona przez ciebie nazwa użytkownika i hasło nie zgadzają się z naszymi danymi'; } mysql_close(); } else { $message .= 'Błąd! Spróbuj jeszcze raz'; } } $page_title = 'Logowanie'; include ('./s/g.inc'); if (isset($message)) { echo $message; } ?> <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post"> <fieldset> <legend> Wprowadz dane : </legend> Nazwa użytkownika : <input type="text name="username" size="10" maxlength="20" value="<?php if (isset($_POST['username'])) echo $_POST['username']; ?>" /> Hasło : <input type="password" name="password" size="20" maxlength="20" /> </fieldset> <div align="left"><input type="submit" name="submit" value="Zaloguj" /></div> </form> <?php include ('./s/d.inc'); ?> Ten post edytował Gamoń 28.03.2012, 09:10:33 |
|
|
![]()
Post
#9
|
|
![]() Grupa: Zarejestrowani Postów: 171 Pomógł: 18 Dołączył: 17.04.2006 Skąd: Bydgoszcz Ostrzeżenie: (0%) ![]() ![]() |
Tą małpę usunąłeś => "@mysql_query ($query);"?
Druga sprawa wklej zapytanie do PHPMYADMINa. -------------------- www.fachoweuslugi.pl | www.zlec-usluge.pl | www.pokazsie.pl
|
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 17 Pomógł: 0 Dołączył: 23.03.2012 Ostrzeżenie: (0%) ![]() ![]() |
Dzięki camikazee za opd. Zwraca zero rekordów nie rozumiem czemu.
|
|
|
![]()
Post
#11
|
|
![]() Grupa: Zarejestrowani Postów: 171 Pomógł: 18 Dołączył: 17.04.2006 Skąd: Bydgoszcz Ostrzeżenie: (0%) ![]() ![]() |
Zwraca 0, bo dane wejściowe nie zostają znalezione. Na moje powinno być:
Ale w zapytaniu w phpMyAdminie podstawiasz oczywiście w takiej formie "SELECT user_id, first_name FROM users WHERE username='nazwa_usera' AND password=PASSWORD('moje_haslo')"? -------------------- www.fachoweuslugi.pl | www.zlec-usluge.pl | www.pokazsie.pl
|
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 17 Pomógł: 0 Dołączył: 23.03.2012 Ostrzeżenie: (0%) ![]() ![]() |
Tak w myadminie podaje wartości nie zmienne ale daje zwraca 0 rekordów
nazwy kolumn się zgadzają wartości są wprowadzone więc nie wiem |
|
|
![]()
Post
#13
|
|
![]() Grupa: Zarejestrowani Postów: 171 Pomógł: 18 Dołączył: 17.04.2006 Skąd: Bydgoszcz Ostrzeżenie: (0%) ![]() ![]() |
A hasło w bazie jest zakodowanym odpowiednikiem hasła, które podajesz i czy porównywałeś jak wygląda hasło po zakodowaniu. Tak by wykluczyć, że nie są różne.
-------------------- www.fachoweuslugi.pl | www.zlec-usluge.pl | www.pokazsie.pl
|
|
|
![]()
Post
#14
|
|
Grupa: Zarejestrowani Postów: 17 Pomógł: 0 Dołączył: 23.03.2012 Ostrzeżenie: (0%) ![]() ![]() |
No zakodowane hasło w bazie to ciąg liter i cyfr moje hasło to "1" jak je można porównać ?
|
|
|
![]()
Post
#15
|
|
![]() Grupa: Zarejestrowani Postów: 171 Pomógł: 18 Dołączył: 17.04.2006 Skąd: Bydgoszcz Ostrzeżenie: (0%) ![]() ![]() |
W phpMyAdminie w SQL wpisujesz po prostu "SELECT PASSWORD('1');" Powinno zwrócić zakodowane hasło w postaci "*E6CC90B878B948C35E92B003C792C46C58C4AF40", porównaj je.
-------------------- www.fachoweuslugi.pl | www.zlec-usluge.pl | www.pokazsie.pl
|
|
|
![]()
Post
#16
|
|
Grupa: Zarejestrowani Postów: 17 Pomógł: 0 Dołączył: 23.03.2012 Ostrzeżenie: (0%) ![]() ![]() |
To dziwne bo cokolwiek bym nie wpisał w SELECT PASSWORD(''); zawsze pisze 0 rekordów i podaje zakodowane hasło.
Ten post edytował Gamoń 28.03.2012, 10:28:00 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 20.08.2025 - 13:49 |