Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: podwójny rekord :)
Forum PHP.pl > Forum > Przedszkole
kubekt
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ć?
Fipaj
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.
kubekt
Aha dobrze wiedzieć. Dalej nie mam najwazniejszego, czyli czemu rekord jest podwójny 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 smile.gif. Skopałem funkcję w bazie danych (zapomniałem ze zmieniałem tongue.gif). Dodałem sprawdzanie poprawności ale przypadkiem przy sprawdzaniu się dwa razy wywoływała biggrin.gif.
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.
Invision Power Board © 2001-2025 Invision Power Services, Inc.