![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 37 Pomógł: 0 Dołączył: 30.07.2012 Ostrzeżenie: (0%) ![]() ![]() |
Witam
otóż mam problem z hasowaniem hasła w php chodzi mi aby hasło wpisywane na stronie zapisywało się w bazie w kodowaniu "ShHA256" oto cały kod rejestracji : <?php include ("ustaw/database_cfg.php"); ?> <html> <head> <meta http-equiv="Content-type" content="text/html; charset=SHA256" /> <link href="CSS/Style.css" rel="stylesheet" type="text/css"> </head> <body> <center> <form action="?action=register" method="post"> <font color="#black" size="2,3px">Login:<br><br> <input type="text" name='username' class='pole'><br> <br>Hasło:<br><br> <input type="password" name="passwd" class='pole'><br> <br>Powtórz hasło:<br><br> <input type="password" name="rpt_passwd" class='pole'><br> <br>Imię:<br><br> <input type="text" name="real_name" class='pole'><br> <br>E-mail<br><br> <input type="text" name="email" class='pole'><br> <br><br> </font> <input type="reset" value="Wyczysc pola!" class='button'> <input type="submit" value="Zarejestruj!" class='button'> </form></center> <?php $message['success'] = "Konto zostało pomyślnie założone!"; $message['err_acc'] = "Wystąpił błąd podczas zakładania konta!"; $message['err_pass'] = "Poadne hasła nie pasują do siebie!"; $message['exist'] = "Takie konto już istnieje!"; if($_REQUEST['action']=="register") //tutaj się pojawia błąd, bo ten indeks istnieje tylko, gdy formularz zostnie wysłany, dlatego trzeba dodać sprawdzsanie istnienia klucza if(isset($_REQUEST['action']) && $_REQUEST['action']=="register"); { $error = FALSE; $username = $_REQUEST['username']; if (empty($username)) { //reszta analogicznie i nie łącz wszystkich, dla każdego daj osobne $error = TRUE; //kluczowym jest tutaj ustawienie true dla error, inaczej konto będzie się zakładać zawsze echo "Login nie może być puste"; } $passwd = $_REQUEST['passwd']; //pamięŧaj, żeby sprawdzać czy hasło nie jest puste, a nie tylko czy zgadza się z powtórzonym $rpt_passwd = $_REQUEST['rpt_passwd']; $real_name = $_REQUEST['real_name']; $email = $_REQUEST['email']; $db = mysql_select_db("authme"); if($passwd == $rpt_passwd && !$error) //dodane sprawdzanie czy error jest FALSE { if(mysql_num_rows(mysql_query("SELECT * FROM authme WHERE username='$username'")) > 0) { echo '<script type="text/javascript">alert("'.$message['exist'].'");</script>'; } else { $passwd = hash('sha256',$passwd); $mq = mysql_query("INSERT INTO authme (`username`, `password`, `real_name`, `email` VALUES('".$username."','".$real_name."','".$passwd."','".$email."');") or die(mysql_error()); if($mq = true) { echo '<script type="text/javascript">alert("'.$message['success'].'");</script>'; } else { echo '<script type="text/javascript">alert("'.$message['err_acc'].'");</script>'; } } } else { echo '<script type="text/javascript">alert("'.$message['err_pass'].'");</script>'; } } ?> Proszę o pomoc tylko z tym sobie nie radze a to mi jest potrzebne to ukończenia strony (IMG:style_emoticons/default/smile.gif) z góry dziękuje. |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 89 Pomógł: 1 Dołączył: 14.02.2007 Skąd: SZCZECINEK Ostrzeżenie: (20%) ![]() ![]() |
Chyba masz pomieszana kolejnosc w zapytaniu password i real name a pozniej jak dodajesz wartosci to masz real name i password. To tak na pierwszy rzut oka ale nie wiem czy to rozwiaze Twoj problem. Ten post edytował robert-0627 30.07.2012, 13:09:53 |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 37 Pomógł: 0 Dołączył: 30.07.2012 Ostrzeżenie: (0%) ![]() ![]() |
poprawiłem ale nic (IMG:style_emoticons/default/sad.gif) znów ten błąd
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 'VALUES('lollol','lollol','4088d0d5b8ec83c218dd523468f266a159e6418074bf4a17e5ee0e' at line 1 |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 89 Pomógł: 1 Dołączył: 14.02.2007 Skąd: SZCZECINEK Ostrzeżenie: (20%) ![]() ![]() |
Nawias przed VALUES. |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 37 Pomógł: 0 Dołączył: 30.07.2012 Ostrzeżenie: (0%) ![]() ![]() |
Dzięki Działa jesteś moim mistrzem (IMG:style_emoticons/default/biggrin.gif)
mam jeszcze 3 sprawy (IMG:style_emoticons/default/smile.gif) 1.Gdy wchodzę na rejestracje wyskakuje mi od razu okienko z napisem :"Poadne hasła nie pasują do siebie!" odpowiada za to skrypt { echo '<script type="text/javascript">alert("'.$message['err_pass'].'");</script>'; } i chce to zlikwidować jak ?:| 2.Kiedyś coś tam przestawiłem i nie mam polskich znów takich jak ą,ę itp mam ustawione na utf-8 i nic 3 .to samo co 2 tylko tu mam już połączone z baza,w bazie mam ustawione utf8_polish_ci a na stronie nie mam polskich znaków :| |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 89 Pomógł: 1 Dołączył: 14.02.2007 Skąd: SZCZECINEK Ostrzeżenie: (20%) ![]() ![]() |
Nie rozumiem za bardzo. Chcesz w ogole sie pozbyc tego alerta ? Jeżeli tka po prostu zakomentuj go.
//{ // echo '<script type="text/javascript">alert("'.$message['err_pass'].'");</script>'; //}. Co do polskich znakow to w sekcji head musisz ustawic charset utf 8 czy jakos tak poczytaj trochę o tym (IMG:style_emoticons/default/smile.gif) . |
|
|
![]() ![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 37 Pomógł: 0 Dołączył: 30.07.2012 Ostrzeżenie: (0%) ![]() ![]() |
nie chodzi mi o usnięcie tego (IMG:style_emoticons/default/biggrin.gif)
Poprostu jak wchodze w zakładke rejestracja to mi to odrazu wyskakuje . No dobra zmieniłem na $mq = mysql_query("INSERT INTO authme (`username`, `password`, `real_name`, `email`) VALUES('".$username."','".$real_name."','".$passwd."','".$email."');") or die(mysql_error()); i zapisuje się do bazy ale hasło zapisuje się w polu real_name a nie password ,a chce aby zapisywało się w password Jeśli zmienię $mq = mysql_query("INSERT INTO authme (`username`, `password`, `real_name`, `email`) VALUES('".$username."','".$real_name."','".$passwd."','".$email."');") or die(mysql_error()); na $mq = mysql_query("INSERT INTO authme (`username`, `password`, `real_name`, `email`) VALUES('".$username."','".$real_name."','".$passwd."','".$email."');") or die(mysql_error()); to mi wyskakuje błąd "Duplicate entry '0' for key 'PRIMARY'" Jeszcze mam błędy typu Notice: Undefined index: action in ale to chyba taka informacja ;p lecz ja chce to usunąć (IMG:style_emoticons/default/biggrin.gif) Jak? Pomóżcie Mi (IMG:style_emoticons/default/smile.gif) Z Góry Dziękuje (IMG:style_emoticons/default/smile.gif) pomoże ktoś (IMG:style_emoticons/default/questionmark.gif) (IMG:style_emoticons/default/sad.gif) Help :|(IMG:style_emoticons/default/exclamation.gif) ! |
|
|
![]() ![]() |
![]() |
Aktualny czas: 25.08.2025 - 19:02 |