Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php+mysql] zapobieganie dublowaniu rekordów
cioop
post
Post #1





Grupa: Zarejestrowani
Postów: 43
Pomógł: 0
Dołączył: 24.01.2007

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


witam,
mam pytanie - zdaje sobie sprawe, ze to pewnie latwe, ale gdzie moge znalesc cos o tym jak zbudowac formularz dodawania rekordu do bazy (np rejestracji), który bedzie sprawdzac czy rekord o takiej wartosci (nicku) juz istnieje?
z gory dziekuje i pozdrawiam
Go to the top of the page
+Quote Post
Cienki1980
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 1 590
Pomógł: 40
Dołączył: 11.01.2007
Skąd: Centrum

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


Możesz zrobić to na dwa sposoby:
1. Podczas dodawania sprawdź czy w bazie istnieje już taki nick, jeżeli tak to nie dodawaj tego z formularza.
2. Nadaj kolumnie 'nick' UNIQUE. W takim przypadku baza sama nie pozwoli na wpisanie takiego samego nicka


--------------------
404
Go to the top of the page
+Quote Post
muk4
post
Post #3





Grupa: Zarejestrowani
Postów: 309
Pomógł: 56
Dołączył: 3.11.2006
Skąd: Gliwice

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


ustawiasz value np. nick w formularzu i tu masz:

  1. <?php
  2. $tabela = '<nazwa_tabeli>';
  3. $query = mysql_query('SELECT * FROM '.$tabela.'');
  4. $zmienna = mysql_fetch_array($query);
  5. if($_POST['nick] === $zmienna['nick'])
  6. {
  7. echo 'Taki uzytkownik juz istnieje. Wybierz inny nick.';
  8. }
  9. else
  10. {
  11. // Tutaj reszta twojego kodu
  12. // Przykład:
  13. echo 'Zarejestrowales sie!!!jeeeee.';
  14. }
  15. ?>


łii.. to jest mój pierwszy kod jaki sam napisałem. Nie bić.

Ten post edytował muk4 26.02.2007, 18:28:23
Go to the top of the page
+Quote Post
Cienki1980
post
Post #4





Grupa: Przyjaciele php.pl
Postów: 1 590
Pomógł: 40
Dołączył: 11.01.2007
Skąd: Centrum

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


Cytat(muk4 @ 26.02.2007, 18:25:37 ) *
ustawiasz value np. nick w formularzu i tu masz:

łii.. to jest mój pierwszy kod jaki sam napisałem. Nie bić.

Ok bić nie będziemy .. ale poprawny kod to to nie jest. W takim przypadku sprawdzisz tylko czy pierwszy wyciągnięty rekord będzie pasował z tym przesłanym w formularzu.

Musiałbyś ten kod zaopatrzyć w pętlę, tak aby każdy istniejący rekord w bazie sprawdzać z wartością z formularza.


--------------------
404
Go to the top of the page
+Quote Post
muk4
post
Post #5





Grupa: Zarejestrowani
Postów: 309
Pomógł: 56
Dołączył: 3.11.2006
Skąd: Gliwice

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


  1. <?php
  2.  
  3. mysql_connect('localhost', 'root', 'piotrek');
  4. mysql_select_db(test) or die( "Unable to select database");
  5.  
  6. $jakisnick = 'muk4';
  7. $tabela = 'test';
  8. $query = mysql_query('SELECT * FROM '.$tabela.'');
  9. while($zmienna = mysql_fetch_array($query))
  10. {
  11. if($jakisnick === $zmienna['nick'])
  12. {
  13. echo 'Taki uzytkownik juz istnieje. Wybierz inny nick.';
  14. }
  15. else
  16. {
  17. // Tutaj reszta twojego kodu
  18. // Przykład:
  19. echo 'Zarejestrowales sie!!!jeeeee.';
  20. }
  21. ?>


While mnie pokonało... nie wiem gdzie mam zamknąć pętle... nawet nie wiem czy warunek jest dobrze napisany.
Może ktoś coś pomoże albo coś smile.gif.
Tylko nie bić.

Ten post edytował muk4 26.02.2007, 20:17:16
Go to the top of the page
+Quote Post
cornholio666
post
Post #6





Grupa: Zarejestrowani
Postów: 472
Pomógł: 8
Dołączył: 14.03.2004
Skąd: Rzeszów

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


Ja bym to jednak zrobił inaczej

  1. <?php
  2. function in_use($login){
  3.  
  4.  
  5.  $query = "SELECT nick FROM tabela WHERE nick = '$login' ";
  6.  
  7.  $result = mysql_query($query);
  8. if(!$result)
  9.  {
  10.  }
  11.  
  12. if(!mysql_num_rows($result))
  13.  {
  14.  return 0;
  15.  }
  16.  
  17. else
  18.  {
  19.  return 1;
  20.  }
  21. }
  22. ?>


Ten post edytował cornholio666 26.02.2007, 20:22:16


--------------------
I need TP for my bunghole!!!

Mój nowy przyjaciel - tytanowa płytka na stałe
------------------------------------------------------
AEGEE, kwiaciarnia rzeszów , notariusz rzeszów, zakład krawiecki rzeszów, paweł jakubowicz
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 21.08.2025 - 21:20