Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP][MySQL]Co zrobić żeby rekord się nie powtarzał
licha
post 8.12.2010, 08:11:47
Post #1





Grupa: Zarejestrowani
Postów: 135
Pomógł: 0
Dołączył: 7.12.2010

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


Witam mam kod php który zapisuje rekordy do bazy danych . Wszystko działa pięknie ładnie ale nie wiem jak zrobić żęby rekordy się nie powtarzały.

to mój skrypt :
  1. <?php
  2.  
  3. $imie = $_POST['imie'];
  4. $email = $_POST['email'];
  5.  
  6. if($imie and $email) {
  7.  
  8.  
  9. $connection = @mysql_connect('*****', '****', '*****')
  10. or die('Brak połączenia z serwerem MySQL');
  11. $db = @mysql_select_db('licha_aaa', $connection)
  12. or die('Nie mogę połączyć się z bazą danych');
  13.  
  14.  
  15. #
  16. $uchwyt = mysql_query("INSERT INTO test SET imie='$imie', email='$email'") or die(mysql_error());
  17.  
  18.  
  19. if($ins) echo "Dziękujemy. Zostałeś dodany do bazy danych";
  20. else echo "Błąd";
  21.  
  22. mysql_close($connection);
  23. }
  24.  
  25. ?>


Ten post edytował licha 8.12.2010, 08:12:46
Go to the top of the page
+Quote Post
ciekawskiii
post 8.12.2010, 08:14:52
Post #2





Grupa: Zarejestrowani
Postów: 467
Pomógł: 39
Dołączył: 7.11.2010
Skąd: Raz tu, raz tam

Ostrzeżenie: (30%)
XX---


po dodaniu rekordu wywal sie z tej strony za pomoca header i sprawdzaj czy taki rekord juz istnieje


--------------------
Go to the top of the page
+Quote Post
licha
post 8.12.2010, 08:26:10
Post #3





Grupa: Zarejestrowani
Postów: 135
Pomógł: 0
Dołączył: 7.12.2010

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


tyle że ja w php kuleje a nie mam za dużo czasu na nauke narazie muszę zrobić stronę do niedzieli a to mi jest potrzebne
Go to the top of the page
+Quote Post
markonix
post 8.12.2010, 08:31:39
Post #4





Grupa: Zarejestrowani
Postów: 2 707
Pomógł: 290
Dołączył: 16.12.2008
Skąd: Śląsk

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


mysql_num_rows z odpowiednim zapytaniem w instrukcji warunkowej.

  1. if(mysql_num_rows("Zapytanie")){ coś już jest } else { nie ma }


--------------------
Go to the top of the page
+Quote Post
celbarowicz
post 8.12.2010, 08:38:54
Post #5





Grupa: Zarejestrowani
Postów: 253
Pomógł: 31
Dołączył: 30.03.2009
Skąd: Szczecin

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


imiona i nazwiska często się powtarzają. w twojej bazie email powinien być unikalny. jeśli chcesz, aby rekordy nie powtarzały się najpierw sprawdź czy podany email jest już w bazie, jesli jest to nie zapisuj(i odpowiedni komunikat), jeśli nie ma to zapisz.

$ins co to jest? ustawione? działa?
Go to the top of the page
+Quote Post
kalmaceta
post 8.12.2010, 09:12:15
Post #6





Grupa: Zarejestrowani
Postów: 183
Pomógł: 24
Dołączył: 4.12.2010

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


jak wyżej napisano imię i nazwisko nie jest unikalne - weź e-mail, login czy coś w ten deseń. Nie sprawdzaj żadnym dodatkowym zapytaniem czy rekord istnieje, ustaw po prostu w bazie na żądanym polu np. email klucz UNIQUE. W php normalnie dodajesz tylko sprawdzasz pod koniec

  1. if ($t = mysql_error()) {
  2. if (!strpos($t,'duplicate')==FALSE)
  3. echo('powtorzony i nie dodany');
  4. }


--------------------
kAlmAcetA
Go to the top of the page
+Quote Post
licha
post 8.12.2010, 15:39:33
Post #7





Grupa: Zarejestrowani
Postów: 135
Pomógł: 0
Dołączył: 7.12.2010

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


To sprawdzanie nei chcę działać próbowałem już to wstawić w różne linijki kodu ale zawsze się wyświetla informacja po angielsku (duplikate)
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 Wersja Lo-Fi Aktualny czas: 19.07.2025 - 05:41