Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> podwójny rekord :)
kubekt
post
Post #1





Grupa: Zarejestrowani
Postów: 17
Pomógł: 0
Dołączył: 14.07.2005

Ostrzeżenie: (0%)
-----


Siemka mam problem.
W klasie userControl mam coś takiego:
  1. <?php
  2. public function register( $login, $password, $email)
  3. {
  4. $result = $this -> db -> Query( "SELECT * FROM `users` WHERE `user_login` = '".$login."' OR `user_email` ='".$email."'" );
  5. if ( $result )
  6. {
  7. if( !$row = mysql_fetch_assoc( $result ) )
  8. {
  9. $this -> db -> Query( "INSERT INTO `users` (`user_id`, `user_login`, `user_password`, `user_email`) VALUES ('', '".$login."', MD5( '".$password."'), '".$email."')" );
  10. return 'REGISTERED';
  11. }
  12. else return 'LOGIN/PASSWORD EXISTS';
  13. }
  14. else return 'DATABASE_ERROR';
  15. }
  16. ?>

Wszystko byłoby pięknie, ale jak wywołuję np.
echo $userCtrl -> register ( 'login', 'password', 'test1@example.com' );
To rekord jest wstawiany 2 razy (no i zawsze z większym numerem id chociaz usuwam po dodaniu oba tzn. najpierw mają id 2 i 3, potem 4 i 5 chociaz powinny mieć chyba znowu 2 i 3, dodam ze id ma autoincrement).

PS. MySQL ma prócz md5 szyfrowanie SHA1 i PASSWORD. Słyszałem ze MD5 został trochę rozpracowany, nie wiecie czy SHA1 jest dobry? A ten PASSWORD to w jaki sposób jest tworzony zebym w php mógł odtworzyć?

Ten post edytował kubekt 16.03.2006, 20:30:10
Go to the top of the page
+Quote Post
Fipaj
post
Post #2





Grupa: Zarejestrowani
Postów: 691
Pomógł: 0
Dołączył: 19.01.2005
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


PASSWORD() w php nie odkodujesz. I co takiego tajnego tam trzymasz, że potrzebujesz 'kodu wieczności'? ;-) O ile dobrze się orientuję (a nie za dobrze), to Sha1 zostało złamane, nie MD5. A już na pewno możesz spokojnie MD5 hashować.

Jeśli masz AUTO_INCREMENT i skasujesz jakiś wiersz, jego ID jest już kaput - zostanie w przyszłości pominięte.
Go to the top of the page
+Quote Post
kubekt
post
Post #3





Grupa: Zarejestrowani
Postów: 17
Pomógł: 0
Dołączył: 14.07.2005

Ostrzeżenie: (0%)
-----


Aha dobrze wiedzieć. Dalej nie mam najwazniejszego, czyli czemu rekord jest podwójny (IMG:http://forum.php.pl/style_emoticons/default/sad.gif) . Ale mała wskazówka: jak dam zamiast tego zapytania jakieś echo, to wychodzi tylko raz więc to chyba coś z tym zapytaniem...

Dobra juz mam (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) . Skopałem funkcję w bazie danych (zapomniałem ze zmieniałem (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) ). Dodałem sprawdzanie poprawności ale przypadkiem przy sprawdzaniu się dwa razy wywoływała (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) .

Ten post edytował kubekt 16.03.2006, 21:26:24
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 23.08.2025 - 05:07